2016-05-23 6 views
0

Я добавляю строку в базу данных с загружаемым изображением. когда я обращаюсь к списку строк, изображение появляется, но когда я пытаюсь обновить строку, я сталкиваюсь с ошибкой «Не удалось загрузить ресурс: сервер ответил статусом 400: spring 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

Вы должны указать URL-адрес изображения для src тега 'img', а не данные байта, полученные с помощью URL. – Blank

+0

Я сохраняю изображение в tmpdir, поэтому я не могу дать URL-адрес изображения img, я не нахожу решение! может помочь мне @Reno! thanx. – Raki

ответ

0

Вы должны использовать JS или JQuery, чтобы заполнить src следуя содержание, [ваш массив данных изображения байт] это строка данных байт, поэтому вам может понадобиться изменить тип возврата к String в контроллере, в любом случае попробовать ;)

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

Посмотрите embedding base64 images.

 Смежные вопросы

  • Нет связанных вопросов^_^