一個jar包裏的網站之返回對媒體類型

       spring 中@ResponseBody 原樣返回對象。 例如 return 「hello」那就返回一個String 類型的hello ,因而我想返回圖片是否是把返回值改爲BufferedImage就能夠了。。spring

       事實證實我又天真了一回,這樣作確定是不行的。網絡

        不信的孩子能夠試試。而後我又想到圖片在網絡中是以二進制流傳輸的。那麼返回爲byte [] 就應該能夠了吧。
app

        之前用過restlet ,restlet中 若是要返回對象也是轉化成二進制流的,servlet中也是直接out.write(byte...)關機是怎麼讓頁面識別這個是二進制流是圖片。。url

        沒錯就是設置headers,代碼以下。spa

        其實也能夠使用produces ,看我的愛好了。。.net

        

@Controller rest

@EnableAutoConfiguration對象

public class ImageCtr {圖片

@RequestMapping(value = "/imgcc", headers = "Accept=image/jpeg", method = RequestMethod.GET)get

public @ResponseBody byte[] getimage() {


URL url;

BufferedImage bmg = null;

ByteArrayOutputStream bos = new ByteArrayOutputStream();

try {

url = new URL(

"http://attachments.gfan.com/forum/attachments2/day_120518/1205182052852ce273e69b7eca.jpg");

bmg = ImageIO.read(url);


ImageIO.write(bmg, "jpg", bos);

bos.flush();

} catch (Exception e) {


e.printStackTrace();

}


return bos.toByteArray();

}

相關文章
相關標籤/搜索