以下是我的应用程序中的两个代码段,并使用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文件时,其中缺少一些东西。 即使下载成功,文件也无法提取或无法执行。
Plz建议我可能是其中的问题....特别是它应该适用于exe文件......
答案 0 :(得分: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);