summernote图片上传至七牛云 (springmvc)
2016-11-24 00:00
267 查看
由于项目中需要图片上传至七牛云,以前是把七牛的ACCESS_KEY和SECRET_KEY 都放在js中 暴露在外部,这样会造成一些隐患,所以 决定把key全部写在后端 ,通过controller提交图片。
####maven依赖
####js主要代码
在summernote初始化中添加上
####controller代码
####七牛util代码
####maven依赖
<dependency> <groupId>com.qiniu</groupId> <artifactId>qiniu-java-sdk</artifactId> <version>7.2.0</version> </dependency>
####js主要代码
在summernote初始化中添加上
callbacks: { onImageUpload: function (files,editor,$editable) { //the onImageUpload API sendFile(files[0],editor,$editable); } },
function sendFile(file,editor,welEditable) { data = new FormData(); data.append("file", file); $.ajax({ data: data, type: "POST", url: ctx +"/summernote/imgUpload.htm", cache: false, contentType: false, processData: false, dataType:"json", success: function(data) { if (data.code == 0) { $(docId).summernote('insertImage', "http://xxx"+data.data.key); //xxx的地方是图片url的前缀 key为上传后图片的名字 } else { showModelNoBack(data.msg); } } }); }
####controller代码
@AuthPassport @RequestMapping(value = "/imgUpload", method = RequestMethod.POST) @ResponseBody public Object uploadImgage(@RequestParam("file") MultipartFile file, HttpServletRequest request) { File destFile = null; if (!file.isEmpty()) { try { String path = request.getSession().getServletContext().getRealPath("/upload"); String fileName = UUID.randomUUID().toString().replace("-", "") + file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")); destFile = new File(path + "/" + fileName); FileUtils.copyInputStreamToFile(file.getInputStream(), destFile); //复制临时文件到指定目录 StringMap stringMap = QiniuUtil.upload(fileName, path + "/" + fileName); return stringMap.map(); } catch (Exception e) { logger.error(e.getMessage()); throw new BizException(CommonResponseEnum.EXCEPTION); } finally { destFile.delete(); } } return null; }
####七牛util代码
/** * Created by Stay on 2016/11/23 15:26. */ public class QiniuUtil { private static Logger logger = LoggerFactory.getLogger(QiniuUtil.class); //设置好账号的ACCESS_KEY和SECRET_KEY private static final String ACCESS_KEY = xxx; private static final String SECRET_KEY = xxx; //要上传的空间 private static final String bucketname = "xxx"; //密钥配置 private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY); private static final Zone z = Zone.autoZone(); private static final Configuration c = new Configuration(z); //创建上传对象 private static UploadManager uploadManager = new UploadManager(c); //简单上传,使用默认策略,只需要设置上传的空间名就可以了 private static String getUpToken() { return auth.uploadToken(bucketname); } /** * 七牛云上传文件 * * @param fileName 上传后的文件名 * @param filePath 上传的文件名路径 * @return * @throws IOException */ public static StringMap upload(String fileName, String filePath) throws IOException { try { //调用put方法上传 Response res = uploadManager.put(filePath, fileName, getUpToken()); //打印返回的信息 return res.jsonToMap(); } catch (QiniuException e) { Response r = e.response; // 请求失败时打印的异常的信息 logger.error(r.toString()); throw new BizException(CommonResponseEnum.EXCEPTION); } } }
相关文章推荐
- 七牛云单页面上传图片的功能
- Ckeditor结合springmvc的使用、配置、上传图片、分页
- springMVC多图片上传
- springmvc上传图片并显示图片--支持多图片上传
- springmvc上传图片的处理
- springMVC3 ckeditor3.6 图片上传 JS回调
- springmvc-带预览的异步上传图片功能
- Ueditor结合七牛云及百度云存储(JAVA版,ueditor-1.4.3)实现图片文件上传
- 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源
- springmvc上传图片的处理2
- springmvc图片上传
- 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源
- 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源
- KindEditor图片上传到七牛云
- SpringMVC图片上传
- springmvc实现图片的上传和展示
- 百度UEditor图片上传、SpringMVC、Freemarker、Tomcat、Nginx、静态资源
- 图片上传--SpringMVC实现RESTful接口
- ueditor1.4.3 springmvc图片上传
- SpringMVC图片上传