图片上传处理浏览器兼容性的问题

作者 : 开心源码 本文共2924个字,预计阅读时间需要8分钟 发布时间: 2022-05-13 共207人阅读

KindEditor的图片上传插件,对浏览器兼容性不好。
使用@ResponseBody注解返回java对象,
Content-Type:application/json;charset=UTF-8

应该让其返回

在camel-dspt-common 增加工具类JsonUtils.java

package com.camel.common.utils;import java.util.List;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.JavaType;import com.fasterxml.jackson.databind.JsonNode;import com.fasterxml.jackson.databind.ObjectMapper;/** * 淘淘商城自己设置响应结构 */public class JsonUtils {    // 定义jackson对象    private static final ObjectMapper MAPPER = new ObjectMapper();    /**     * 将对象转换成json字符串。     * <p>Title: pojoToJson</p>     * <p>Description: </p>     * @param data     * @return     */    public static String objectToJson(Object data) {        try {            String string = MAPPER.writeValueAsString(data);            return string;        } catch (JsonProcessingException e) {            e.printStackTrace();        }        return null;    }        /**     * 将json结果集转化为对象     *      * @param jsonData json数据     * @param clazz 对象中的object类型     * @return     */    public static <T> T jsonToPojo(String jsonData, Class<T> beanType) {        try {            T t = MAPPER.readValue(jsonData, beanType);            return t;        } catch (Exception e) {            e.printStackTrace();        }        return null;    }        /**     * 将json数据转换成pojo对象list     * <p>Title: jsonToList</p>     * <p>Description: </p>     * @param jsonData     * @param beanType     * @return     */    public static <T>List<T> jsonToList(String jsonData, Class<T> beanType) {        JavaType javaType = MAPPER.getTypeFactory().constructParametricType(List.class, beanType);        try {            List<T> list = MAPPER.readValue(jsonData, javaType);            return list;        } catch (Exception e) {            e.printStackTrace();        }                return null;    }    }

返回字符串时:
Content-Type:text/plain;charset=UTF-8

image.png

指定响应结果的content-type:

image.png

KindEditor的多图片上传插件最后响应的content-type是text/plan格式的json字符串。兼容性是最好的。

image.png

package com.camel.controller;import java.awt.PageAttributes.MediaType;import java.util.HashMap;import java.util.Map;import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.multipart.MultipartFile;import com.camel.common.utils.FastDFSClient;import com.camel.common.utils.JsonUtils;@Controllerpublic class PictureController {    @Value("${IMAGE_SERVER_URL}")    private String IMAGE_SERVER_URL;    @RequestMapping(value="/pic/upload",produces=org.springframework.http.MediaType.TEXT_PLAIN_VALUE+";charset=utf-8")    @ResponseBody    public String fileUpload(MultipartFile uploadFile){                try {            //1、取文件的扩展名            String originalFilename = uploadFile.getOriginalFilename();            String extName = originalFilename.substring(originalFilename.lastIndexOf(".") + 1);            //2、创立一个FastDFS的用户端            FastDFSClient fastDFSClient = new FastDFSClient("classpath:conf/client.conf");            //3、执行上传解决            String path = fastDFSClient.uploadFile(uploadFile.getBytes(), extName);            //4、拼接返回的url和ip地址,拼装成完整的url            String url = IMAGE_SERVER_URL + path;            //5、返回map            Map result = new HashMap<>();            result.put("error", 0);            result.put("url", url);            return JsonUtils.objectToJson(result);        } catch (Exception e) {            e.printStackTrace();            //5、返回map            Map result = new HashMap<>();            result.put("error", 1);            result.put("message", "图片上传失败");            return JsonUtils.objectToJson(result);        }    }                                    }

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 图片上传处理浏览器兼容性的问题

发表回复