0
我已將一些圖像保存到本地pc路徑並將文件名保存到db。現在我想從數據庫加載所有圖像,並使用java腳本和百里香葉顯示到html頁面。瀏覽器說不允許加載本地資源,所以我在春季啓動時做了一個servlet。但它沒有顯示圖像。從本地來源加載動態圖像
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頁面model.addAttribute("localImg", "E:\\picz\\assasins.jpg");
彈簧控制器會像這樣傳遞Model,它會像這樣將圖像傳遞到各個文件到html頁面。
<img th:src="@{${localImg}}"/>