преобразовать HttpServletResponse в FileInputStream - PullRequest
0 голосов
/ 20 ноября 2018

У меня есть файл Zip, загруженный с FTP-сервера, и загруженный файл доступен в объекте HttpServletResponse.

Я уже написал служебную программу для распаковки архивных файлов с использованием FileInputStream.

Теперь я хочу сначала преобразовать HttpServletResponse в FileInputStream, чтобы я мог распаковать загруженный файл и загрузить его обратно вРасположение сервера FTP.

Я думаю о написании программы для создания временного файла для перемещения данных из HttpServletResponse в FileInputStream, но я скептически отношусь к этому.Ниже приведен пример программы.

HttpServletResponse response
...
//Programming logic to download file from FTP to response object
...
FileInputStream fis = null;
FileChannel inputChannel = null;
FileChannel outputChannel = null;
Path archiveFilePath = Files.createTempFile(fileName, null);
OutputStream outStream = (OutputStream) response.getOutputStream();
if(outStream != null) {
    FileOutputStream fos = (FileOutputStream) outStream;
    outputChannel = fos.getChannel();
    fis = new FileInputStream(archiveFilePath.toFile());
    inputChannel = fis.getChannel();
    outputChannel.transferTo(0, inputChannel.size(), inputChannel);
    outputChannel.close();
    fos.close();
}

Может кто-нибудь помочь мне понять, как мы конвертируем из HttpServletResponse в FileInputStream?Что нужно сделать, чтобы вышеуказанная программа работала должным образом.

Любая помощь по этой теме высоко ценится.

С уважением,

Альфонса

...