Я работаю над устаревшим приложением, где пользователи запрашивают файлы с мэйнфрейма, и они хранятся на FTP-сервере (эта часть работает на 100%). В настоящее время я извлекаю файлы и сохраняю их в папке во временном каталоге, на внешнем интерфейсе у меня есть страница jsp, на которой все загруженные файлы перечислены для загрузки пользователем.
<tr>
<td
style="text-align: center !important; width: 18%; margin-right: 5px;">
<h5>
<%=dto.getFTPileDTOList().get(i).getFilename()%>
</h5>
</td>
<td
style="text-align: center !important; width: 18%; margin-right: 5px;">
<h5>
<a target="_blank" style="padding-right: 7px;"
download="<%=dto.getFTPileDTOList().get(i).getFtpFile().getName()%>"
href="<%=dto.getFTPileDTOList().get(i).getUrl()%>"><i
class="fas fa-file-archive"></i></a>(<%=dto.getFTPileDTOList().get(i).getFtpfileSize()%>)
</h5>
</td>
</tr>
java код для: dto.getFTPileDTOList (). Get (i) .getUrl ():
url = "file:///" + localFile.getAbsolutePath();
FTPFileDTO fileDTO = new FTPFileDTO();
fileDTO.setFilename(filename);
fileDTO.setFtpFile(localFile);
fileDTO.setFtpfileSize(fileSize);
fileDTO.setUrl(url);
При проверке страницы jsp в браузере, когда веб-сервер работает, я получаю следующий код для тега привязки при проверке в chrome:
<a target="_blank" style="padding-right: 7px;" download="filename.zip" href="file:///C:\Users\XXX\XXX\XXX\Temp\FTPFolder\filename.zip"><i class="fas fa-file-archive"></i></a>
При нажатии на ссылку консоль выдает ошибку: Не разрешено загружать локальный ресурс: file: /// C: \ Users \ XXX \ XXX \ XXX \ Temp \ FTPFolder \ filename.zip
После долгих поисков я наткнулся В следующих статьях можно загрузить файл из локального каталога:
Как создать ссылку на локальный файл на локальной веб-странице?
Как открыть локальный файл из браузера?
Где лучше всего хранить эти файлы, чтобы загруженные файлы в настоящее время хранятся в каталоге Temp, чтобы пользователи могли загружать их из jsp через браузер?