SORU
16 NİSAN 2011, CUMARTESİ


@Görüntü ResponseBody dönmek Nasıl?Spring MVC:

DB görüntü verileri (byte[]) alıyorum. Nasıl @ResponseBody Bu görüntü dönmek için ?

EDİT

@ResponseBody yöntem HttpServletResponse kullanarak parametre olmadan yaptım:

@RequestMapping("/photo1")
public void photo(HttpServletResponse response) throws IOException {
    response.setContentType("image/jpeg");
    InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
    IOUtils.copy(in, response.getOutputStream());
}

@Sid dediği gibi org.springframework.http.converter.ByteArrayHttpMessageConverter kayıtlı dönüştürücü ile @ResponseBody kullanarak benim için çalışmıyor :(.

@ResponseBody
@RequestMapping("/photo2")
public byte[] testphoto() throws IOException {
    InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");
    return IOUtils.toByteArray(in);
}

CEVAP
13 Aralık 2011, Salı


ByteArrayHttpMessageConverter Bir kayıt ek olarak @ResponseBody yerine ResponseEntity bir kullanmak isteyebilirsiniz. Aşağıdaki kod benim için çalışıyor :

@RequestMapping("/photo2")
public ResponseEntity<byte[]> testphoto() throws IOException {
    InputStream in = servletContext.getResourceAsStream("/images/no_image.jpg");

    final HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.IMAGE_PNG);

    return new ResponseEntity<byte[]>(IOUtils.toByteArray(in), headers, HttpStatus.CREATED);
}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Missouri Star Quilt Company

    Missouri Sta

    18 ŞUBAT 2009
  • sonia989

    sonia989

    26 EKİM 2006
  • Tinkernut

    Tinkernut

    28 Aralık 2006