Java 从jetty中运行的web应用访问本地目录映像
我的web应用程序是使用jsp/javascripts编写的。后端Java。我已成功实现在webapplication外部保存图像的代码,因为我不想将图像保存在webapp/images文件夹中(因为当服务器关闭并重建应用程序时,我会丢失保存的图像)。我想要的是再次从我的web应用程序访问我保存在本地目录中的图像,但我不知道如何访问。如果jetty server正在同一台本地计算机上运行,如何从jetty server访问本地文件夹…获取存储和读取文件的路径Java 从jetty中运行的web应用访问本地目录映像,java,jsp,servlets,jetty,Java,Jsp,Servlets,Jetty,我的web应用程序是使用jsp/javascripts编写的。后端Java。我已成功实现在webapplication外部保存图像的代码,因为我不想将图像保存在webapp/images文件夹中(因为当服务器关闭并重建应用程序时,我会丢失保存的图像)。我想要的是再次从我的web应用程序访问我保存在本地目录中的图像,但我不知道如何访问。如果jetty server正在同一台本地计算机上运行,如何从jetty server访问本地文件夹…获取存储和读取文件的路径 getServletContext(
getServletContext().getRealPath("/images");
甚至可以从servlet的外部位置读取文件
File image = new File("d:\\image\1.jpg");
response.setBufferSize(DEFAULT_BUFFER_SIZE);
response.setContentType(contentType);
response.setHeader("Content-Length", String.valueOf(image.length()));
response.setHeader("Content-Disposition", "inline; filename=\"" + image.getName() + "\"");
BufferedInputStream input = null;
BufferedOutputStream output = null;
try {
// Open streams.
input = new BufferedInputStream(new FileInputStream(image), DEFAULT_BUFFER_SIZE);
output = new BufferedOutputStream(response.getOutputStream(), DEFAULT_BUFFER_SIZE);
// Write file contents to response.
byte[] buffer = new byte[DEFAULT_BUFFER_SIZE];
int length;
while ((length = input.read(buffer)) > 0) {
output.write(buffer, 0, length);
}
} finally {
// Gently close streams.
close(output);
close(input);
}
另请参见