У меня есть сервлет, который загружает файл из указанного места.В настоящее время мой URL-адрес http://localhost:8080/DownloadFromservlet/download?file=c://tmp/DownloadFileServlet.pdf, и он должен выглядеть так: http://localhost:8080/fileserver/download?file=c:/tmp/DownloadFileServlet.pdf
Мне нужно заменить DownloadFromservlet на файловый сервер.Вот мой код
@WebServlet("/download")
public class download extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String sourceFile = request.getParameter("file");
sourceFile = sourceFile != null ? sourceFile.trim() : "";
File fo = null;
if (sourceFile.length() > 0)
fo = new File(sourceFile);
response.setContentType("application/octet-stream");
ServletOutputStream servletOutputStream = response.getOutputStream();
BufferedInputStream bufferedInoutStream = new BufferedInputStream(new FileInputStream(fo));
byte[] buffer = new byte[8192];
int bytesRead = 0;
// ;
while (bytesRead != -1) {
bytesRead = bufferedInoutStream.read(buffer);
servletOutputStream.write(buffer);
}
servletOutputStream.flush();
if (servletOutputStream != null) {
try {
servletOutputStream.close();
} catch (Throwable tx) {
}
}
if (bufferedInoutStream != null) {
try {
bufferedInoutStream.close();
} catch (Throwable tx) {
}
}
}
}
Не могли бы вы помочь мне, как я могу изменить его?