2017-07-27 27 views
0

我有使用Spring Boot的Java Web應用程序,我想在JSP頁面中顯示位於文件系統中的extern文件夾(E:/ images)中的圖像。 我看了太多的網頁在谷歌,我發現在一個帖子,說我應該寫一個servlet來獲取圖像:我錯過了什麼,或者我應該用另一種方式做,請給我更多的細節我米的新的春天。謝謝你的幫助。在jsp中使用彈簧啓動從文件系統顯示圖像

@RequestMapping(value="/images",method = RequestMethod.GET) 
    public @ResponseBody void affichimage(@RequestParam("id") Integer Iddd,HttpServletResponse response,HttpServletRequest request) throws IOException 
    { 
     Annonce annonce=new Annonce(); 
     annonce=annoncedao.findOne(Iddd); // get the right annonce from 
     //database 
     File imageFile = new File(annonce.getimage()); // in image I have 
      //the link to images ex : E:/images/image1.jpeg 
     response.setContentType("image/jpeg"); 

     BufferedImage image = ImageIO.read(imageFile); 
     ImageIO.write(image, "image/jpeg", response.getOutputStream()); 
    } 
在JSP

< img class="imagesaffichage" src="/images?id=${annonce.id}" alt="No image"/> 

我也添加到了我的應用程序:

在我的控制器

public void addResourceHandlers(ResourceHandlerRegistry registry) { 
     registry.addResourceHandler("/resources/**") 
       .addResourceLocations("file:///E:/images/"); 
    } 

回答

0

我找到了解決辦法,我不得不改變以上方法:

@RequestMapping(value="/images",method = RequestMethod.GET) 
    public @ResponseBody void affichimage(@RequestParam("id") Integer 
     Iddd,HttpServletResponse response,HttpServletRequest request) throws 
     IOException,NullPointerException 
     { 
     Annonce annonce=new Annonce(); 
     annonce=annoncedao.findOne(Iddd); // get the right annonce from 
     //database   
     File imageFile = new File(img); 
     response.setContentType("image/jpeg"); 
     InputStream in=new FileInputStream(imageFile); 
     IOUtils.copy(in, response.getOutputStream()); 
     } 
相關問題