Я сохранил некоторые изображения на локальном пути компьютера и сохранил имя файла в db. Теперь я хочу загрузить все изображения с db и показать на html-страницу с помощью java-скрипта и thymemleaf. Браузеру не разрешено загружать локальные ресурсы, поэтому я сделал сервлет весной. Но он не показывает изображение.Загрузка динамического изображения из локального источника
Servlet
@WebServlet("/admin/imgServlet")
public class AdminImageServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
String urlImage = request.getParameter("admin");
response.setContentType("image/jpeg");
ServletOutputStream out;
out = response.getOutputStream();
FileInputStream fin = new FileInputStream("C:/Users/Public/Documents/" + urlImage);
BufferedInputStream bin = new BufferedInputStream(fin);
BufferedOutputStream bout = new BufferedOutputStream(out);
int ch = 0;
while ((ch = bin.read()) != -1) {
bout.write(ch);
}
bin.close();
fin.close();
bout.close();
out.close();
}
}
@Bean
public ServletRegistrationBean adminImageServlet() {
DispatcherServlet dispatcherServlet = new DispatcherServlet();
AnnotationConfigWebApplicationContext applicationContext = new AnnotationConfigWebApplicationContext();
applicationContext.register(AdminImageServlet.class);
dispatcherServlet.setApplicationContext(applicationContext);
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(dispatcherServlet, "/admin/imgServlet");
servletRegistrationBean.setName("imgServlet");
return servletRegistrationBean;
}
Java скрипт для загрузки изображения
'<img src=imgServlet?admin='+articles.bannerImg+' class="img-responsive" />'
ошибки я получаю imgServlet:1 GET http://localhost/techtalks/admin/imgServlet?admin=pyjc4x0B.jpeg 404 (Not Found)
И я также хочу, чтобы загрузить изображение из местных ресурсов для thymeleaf HTML страницы
Контроллер весныпередаст модель как это, и он передаст изображение в соответствующий файл на страницу html, как это.
<img th:src="@{${localImg}}"/>