我的Spring MVC应用程序通过Internet公开,它具有文件上传下载功能,文件大小限制为10GB。而且我正在尝试将所有上传的文件存储在某个sftp服务器上,该服务器可以通过局域网从应用程序服务器进行访问。
我尝试了apache commons-fileupload,并且能够有效地将文件上传到服务器物理存储。但是,如果不将上传的文件保留在服务器上的某些临时目录下,我将无法将该文件写入sftp服务器。
try {
List<FileItem> fileItemsList = uploader.parseRequest(request);
Iterator<FileItem> fileItemsIterator = fileItemsList.iterator();
while(fileItemsIterator.hasNext()){
FileItem fileItem = fileItemsIterator.next();
String fileName= fileItem.getName();
if (fileName != null) {
fileName = FilenameUtils.getName(fileName);
}
/**
* This file i wish to create at sftp server
**/
File file = new File("some_path"+File.separator+fileName);
fileItem.write(file);
out.write("File "+fileItem.getName()+ " uploaded successfully.");
out.write("<br>");
out.write("<a href=\"UploadDownloadFileServlet?fileName="+fileName+"\">Download "+fileName+"</a>");
}
} catch (FileUploadException e) {
out.write("Exception in uploading file.");
} catch (Exception e) {
out.write("Exception in uploading file.");
}
我如何达到此要求? 任何想法或建议,以哪种方式进行将不胜感激。