2016-05-23 211 views
0

我使用上传图像向数据库添加了一行。当我查询行的列表时,图像出现,但是当我尝试更新行时,我遇到了错误“无法加载资源:服务器响应400的状态:弹簧mvc”。图像不出现!加载资源失败:服务器响应的状态为400:spring mvc

//add row 

@RequestMapping(value = "/add") 
public String ajouter(@ModelAttribute("serv") Service service ,MultipartFile file) throws Exception { 

    Long idser; 
    // add 
    if (service.getIdService() ==0) { 

     service.setImgService(file.getOriginalFilename()); 
     idser = metier.addservice(service); 
     // add new image file 
     if (!file.isEmpty()) { 
      String path = System.getProperty("java.io.tmpdir") + "/" 
        + idser + "_" + service.getImgService(); 
      file.transferTo(new File(path)); 
     } 
    } 

    return "redirect:/page/pageus"; 

} 

// update 

@RequestMapping("/edit/{id}") 
    public ModelAndView editService(@PathVariable("id") long id,Model model,@ModelAttribute Service service){ 

    service=metier.getService(id); 
    model.addAttribute("editedserv",service); 

    return new ModelAndView("Admin/page/pageedit","serviceObject",service); 
    } 


    // get image of the products 

    @RequestMapping(value = "Photoser", produces = MediaType.IMAGE_JPEG_VALUE) 
    @ResponseBody 
    public byte[] photoCat(Long idser) throws Exception { 
     Service serv = metier.getService(idser); 
     String path = System.getProperty("java.io.tmpdir") + "/" + idser+"_"+serv.getImgService(); 
     File serImage = new File(path); 

     return IOUtils.toByteArray(new FileInputStream(serImage)); 
    } 

//show img in jsp 
    <img src="Photoser?idser=${serviceObject.idService}"/> 

有人可以帮助我!

+0

你应该给一个'img'标签的src图像url,而不是一个url retreived字节数据。 – Blank

+0

我保存图像在tmpdir,所以我不能给一个图像网址img,我找不到解决方案!可以帮助我@Reno!thanx。 – Raki

回答

0

你应该用js或jquery的通过以下内容来填充src[图像字节数组数据]是字节的数据串,所以你可能需要您的返回类型更改为String在控制器,反正试试吧;)

<img src="data:image/png;base64,[your image byte array data]"/> 

看一看embedding base64 images

相关问题