Arquivo em servidor remoto

É possível abrir um arquivo via FTP num servidor remoto sem a necessidade de download ? consigo listar todos arquivos de determinada pasta em uma jTable, gostaria de ao clicar na linha que contém o nome do arquivo, o mesmo fosse aberto sem necessidade de download, pesquisando pelo google encontro muito conteúdo porém não consigo achar uma forma de fazer, segue o que tenho até agora :

public void abrirarquivo(String nomearq){
    try {
 
        ftpClient.connect(server, port);
        ftpClient.login(user, pass);
        java.awt.Desktop.getDesktop().open( new File("ftp.servidor.com.br/arquivos/"+nomearq ) );
        
    } catch (IOException ex) {

    }
} 

porém é retornado que o caminho não existe…

como vc acha que o conteudo do arquivo seria apresentado sem ele ser transferido localmente? os bytes viriam de onde? magica?

a unica maneira que eu vejo é vc olhar o tamanho e o md5 / sha1 do mesmo ( via sftp vc consegue ) e tentar gerar o conteudo do arquivo por bruteforce. O que talvez leve um bom tempo

Ignorante!

“viriam de onde? magica?”

Que grosseria, o amigo @peczenyj só fez uma pergunta.
Às vezes não é claro para as pessoas que para abrir localmente um arquivo remoto, é necessário obter os bytes daquele arquivo, ou seja, fazer download.

Existe alguma solução que me permita visualizar o arquivo, usando um navegador por exemplo, sendo que a maioria é de formato .jpg e .pdf? ou até mesmo deixá-lo salvo temporariamente enquanto aberto…

Vamos la

Em uma pagina html vc vai ter uma tag do tipo img (imagem). O src pode receber uma url. Vc pode ter uma url do protocolo ftp:// e essa url pode conter inclusive o usuario e senha. Será q funciona?

Eu não lembro de cabeça mas testar isso é rapido. Contudo isso não é http então o resultado se funcionar pode ser uma solução instável.

Alguns ftps podem ter uma interface web na porta 80 (ou outra). Não lembro de nenhum de cabeça pra testar.

Se o arquivo esta num ftp talvez não seja dificil fazer um proxy que pegue o arquivo e fazer um stream de bytes. Com o cabeçalho correto o browser consegue cachear numa boa.

Agora pq eu perguntei “magica?”

Decadas atras eu tentava fazer 2 computadores conversar enquanto aprendia o básico de redes. Ninguém havia me dito q eles precisam estar ligados um ao outro. Foi um fim de semana frustrante.

Perguntar “magica?” Faz algumas pessoas refletirem. Outras surtam. E esse problema persiste até hoje: as vezes dois computadores não se falam pq estão em redes diferentes. E ai galera fica louca achando q é DNS. Não acho ofensivo. Eu sei ser ofensivo.

Magica remete ao coelho que sai da cartola.

Se vc se ofendeu me desculpe.

Outro dia uma moça estava com duvidas aqui de UDP. Dei um exemplo pra ela estudar. Eu me criei pegando exemplo e depois modificando. Ela não entendeu. Talvez seja o idioma. Talvez seja o conceito de UDP. Tentei elucidar mais. Não sei se deu certo.

Eu posso explicar pra vc. Eu não posso entender por vc.

Ao Engenheiro: ora vá colher morangos.

1 curtida

Devo dizer que a classe do companheiro @staroski é admirável.