如何将上传的文件写入sftp位置

时间:2019-06-21 14:39:48

标签: java spring-mvc file-upload apache-commons-fileupload spring-integration-sftp

我的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.");
        }

我如何达到此要求? 任何想法或建议,以哪种方式进行将不胜感激。

0 个答案:

没有答案