我的问题是,当我从一个jsp上传图像并转到另一个应该显示上传图像的jsp时却没有显示图像。该图像已上传并保存在我的服务器中,我引用了正确的路径,但是要查看该图像,我只需要重新启动tomcat。 这是我的上传器servlet(我认为它可以正常工作,因为保存了图像):
// Get file from form
Part part = request.getPart("cartel");
// Path
String ruta_local = getServletContext().getInitParameter("local_path");
String img_dir = getServletContext().getInitParameter("img_directory");
// Image name
String fileName = extractFileName(part);
// Add random number to image name
Random rand = new Random();
int random_numbers = rand.nextInt(1000);
fileName = NameOrExtension(fileName, "nombre") + String.format("%03d", (random_numbers))
+ "." + NameOrExtension(fileName, "extension");
request.getSession().setAttribute("foto", fileName);
// Final path
String cartel_path = ruta_local + File.separator
+ img_dir + File.separator + fileName;
File cartel = new File(cartel_path);
// File write
try (InputStream input = part.getInputStream()){
Files.copy(input, cartel.toPath());
input.close();
}
图像保存在WebContent文件夹中的img-carteles forlder中,当我尝试显示知道他名字的图像时,我使用:
<img class="card-img-top" src="img-carteles/image_name" alt="Card image cap">
所以我认为这是tomcat的渲染问题。 问题:如何显示和上传图像而不必重启tomcat?
答案 0 :(得分:0)
此答案与Uploaded image only available after refreshing the page
中的@BalusC答案相同简而言之,上载的映像不应保存在部署文件夹中。
只需将img-carteles
目录的目录更改为部署文件夹之外的目录即可解决该问题。