一个jar包里的网站之返回对媒体类型
spring 中@ResponseBody 原样返回对象。 例如 return “hello”那就返回一个String 类型的hello ,于是我想返回图片是不是把返回值改成BufferedImage就可以了。。
事实证明我又天真了一回,这样做肯定是不行的。
不信的孩子可以试试。然后我又想到图片在网络中是以二进制流传输的。那么返回为byte [] 就应该可以了吧。
以前用过restlet ,restlet中 如果要返回对象也是转化成二进制流的,servlet中也是直接out.write(byte...)关机是怎么让页面识别这个是二进制流是图片。。
没错就是设置headers,代码如下。
其实也可以使用produces ,看个人爱好了。。
@EnableAutoConfiguration
public class ImageCtr {
@RequestMapping(value = "/imgcc", headers = "Accept=image/jpeg", method = RequestMethod.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();
}
- 创建一个包,其中定义一个过程,可以查询得到编号为7900的员工的姓名ename、薪水sal、佣金comm、上司编号mgr (通过OUT类型的参数将结果返回并打印) (注意包有包头部分的声明和包体部分的
- hibernate查询数据表char类型字段只返回一个字符
- 定义一个返回结果类型的类[原创] [小例子]
- Linux驱动中的一个返回类型
- 【原创】如何分析一个网站使用的服务器类型
- [VB.NET]问下 :自己写的com,其中一个接口方法返回一个variant类型的值,在.net中如何接收啊
- 给定一个整数(字符串也适用)序列,重新排列,得到最大的结果,比如31,3,35,7,9根据排列后得到组合 9735331,返回的是string类型
- Mysql中返回一个数据库的所有表名,列名数据类型备注
- 【C语言】编写一个函数,传入a,b两个int类型的变量,返回两个值的最大公约数。(辗转相除法和常规求法)
- 用一个方法返回两个及两个以上不同类型的结果
- 二进制兼容 DLL 或 EXE 包含了一个找不到其定义的参数类型或返回类型
- 第四周编程题_实现一个表达MP3的媒体类型
- js里怎么判断一个对象是否是日期类型,即Date,用typeof返回的是object
- Request.getparameternames 获取form表单里面所有的请求参数 。 返回一个Enumeration类型的枚举.
- java得到此时此刻的2个半小时后的时间,返回一个Date类型
- Visual C#2005——如何使用ToArray方法返回一个强类型数组
- php 访问一个网站地址,发送post数据和设置cookie,取得服务器返回的数据(html,setcookie命令设置的cookie);
- 1.传入一个列表,列表中元素可能是任意类型 2.使用高级函数完成非字符串元素的删除 3.然后按照字符串的长度进行降序排序 4.返回新的排序后的列表
- Sql server 的表值函数是返回一个Table类型,table类型相当与一张存储在内存中的一张虚拟表。
- 用类名做方法的返回值类型 在学习Java的初始阶段,很多同学使用基本数据类型定义变量和引用类型定义变量以及使用类名做方法的返回值类型常常不知所以。今天我以自己的解读方式和个人的理解作一个简单的解释,和