最近在使用KindEditor的多图片上传插件上传图片时,使用Firefox浏览器出现前端出现上传失败的样式,但是后端确实能够将图片传递到文件服务器,研究之后,发现KindEditor插件的浏览器兼容性并不好,后来使用google浏览器,即可上传成功,但是这个问题我们应该解决!
首先我在后端使用@responsebody注解返回的是一个java对象,这一般是没有问题的,但是KindEditor的兼容性并不好,因此建议直接返回json字符串!
使用@ResponseBody注解返回java对象时,Content-Type响应头的值默认为application/json;charset=UTF-8,而要解决浏览器兼容性问题,则需要返回字符串,并且Content-Type响应头的值要为text/plan;charset=UTF-8。
关键代码如下
@RequestMapping(value = "/pic/upload", produces = MediaType.TEXT_PLAIN_VALUE + ";charset=utf-8")
@ResponseBody
public String uploadPic(MultipartFile uploadFile) {
................
}
java对象转json字符串
我是用的是alibaba的fastjson的jar包:
坐标
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.47</version>
</dependency>
转换为json字符串的关键方法
String strObj = JSONObject.toJSONString(Object);