1

下面是我的应用程序中的两个片段,我使用 J2SSH jar 进行 SFTP 访问。

第一:

 .........
 .........
 //Open the SFTP channel
 com.sshtools.j2ssh.SftpClient client = sshClient.openSftpClient();
 // writing from source path to outputstream
 client.get("/Repository/Test/index.zip", outputStream);            
 ........
 ........

第二个(JSP 文件):

response.setContentType("application/octet-stream");
response.setHeader("Content-disposition","attachment; filename=index.zip");
BufferedOutputStream bos = new BufferedOutputStream(response.getOutputStream());
client.fillOutputStream(bos);    //  this method calls to first block code.
bos.flush();
bos.close();
response.flushBuffer(); 

应用程序中的一切工作正常,没有任何例外。下载文本文件时没有问题。但是,当我尝试下载 zip 或 exe 文件时,其中缺少某些内容。即使下载成功,文件也无法提取或无法执行。

请建议我这可能是其中的问题......尤其是它应该适用于 exe 文件......

4

1 回答 1

1

对于这种工作,我使用http://commons.apache.org/vfs/

StandardFileSystemManager manager = new StandardFileSystemManager();
FileObject target = manager.resolveFile("file://" + path + File.separator + filenameTarget);
FileObject source = manager.resolveFile(sftpUri + path + File.separator + filenameSource, options);
target.copyFrom(fichierSource, Selectors.SELECT_SELF);
于 2012-08-30T10:40:28.583 回答