У меня есть весеннее приложение mvc, доступное через Интернет, в котором есть функция загрузки файлов с ограничением размера файла 10 ГБ. И я пытаюсь сохранить все загруженные файлы на каком-то сервере sftp, который доступен через LAN с сервера приложений.
Я попробовал 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.");
}
Как я могу достичь этого требования?
Любая идея или предложение, по какому пути поступить, будет высоко ценится.