Как записать загруженный файл в папку sftp - PullRequest
0 голосов
/ 21 июня 2019

У меня есть весеннее приложение 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.");
        }

Как я могу достичь этого требования? Любая идея или предложение, по какому пути поступить, будет высоко ценится.

...