1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 关于百度ueditor图片上传到OSS问题解决

关于百度ueditor图片上传到OSS问题解决

时间:2023-03-30 22:33:13

相关推荐

关于百度ueditor图片上传到OSS问题解决

本人java菜鸡一枚。最近公司项目用到百度富文本,由于之前用过百度ueditor所以就选择了ueditor,然后被图片上传深深的坑到了。话不多说现在说一下我碰到的问题 :

1:就是如何上传到别的服务器,比如OSS服务器。

2:就是如何回显(这个就很坑),看了很多博客最后也没解决。

下面贴解决办法(附代码):

最基本的ueditor怎么初始化就不说了。

首先我们要让图片上传的时候调用我们自己写的接口。

UE.Editor.prototype._bkGetActionUrl=UE.Editor.prototype.getActionUrl;UE.Editor.prototype.getActionUrl=function(action){if (action == 'uploadimage' ||action== 'uploadscrawl' || action == 'uploadimage') {return '<%=request.getContextPath()%>/totalmsg/upload';} else if(action == 'listimage'){return this._bkGetActionUrl.call(this, action);} else{return this._bkGetActionUrl.call(this, action);}}

这样就可以直接调用我们的接口了

下面是获取到图片上传到oss然后回显了

@RequestMapping(value = "/upload")@ResponseBodypublic Object picUpload( @RequestParam("upfile")MultipartFile file, HttpServletRequest request,HttpServletResponse response) throws IOException{Map<String,Object> parm = new HashMap<>();CommonsMultipartFile cf=(CommonsMultipartFile)file;DiskFileItem fi = (DiskFileItem) cf.getFileItem();InputStream fileContent = fi.getInputStream();String fileName=fi.getName();String suffix=fileName.substring(fileName.lastIndexOf("."));String objName= OssUtil.makeObjName1("pic", DateUtil.date2str(new Date(),"yyyyMMdd"),suffix);String newUrl= OssUtil.addPicPObj(objName,fileContent);if (newUrl == null) {logger.error("pic上传文件失败");} else {newUrl = OssUtil.IMG_DOMAIN+"/"+objName;parm.put("state","SUCCESS");parm.put("url",newUrl);return parm;}return parm;}

这个参数key就是你config.json里配置

返回参数一定要返回 state = SUCCESS 和 url = 返回的url路径

下面是OSS上传用到的封装方法

public static String makeObjName1(String prefix, String date, String suffix) {return prefix + "/" + date + "/" + UUIDFactory.getUUIDStr() + "." + suffix;}

/*** @添加图片*/public static String addPicPObj(String objName,InputStream is){OSSClient ossClient = new OSSClient(IMG_END_POINT, accessKeyId, accessKeySecret);try {try {ossClient.putObject(IMG_BUCKET_NAME, objName, is);try {is.close();} catch (IOException e) {logger.error("",e);}} catch (OSSException | com.aliyun.oss.ClientException e) {logger.error("",e);System.out.println("添加object\t" + objName + "\t异常。");return null;}return "http://" + IMG_BUCKET_NAME + "." + IMG_END_POINT + "/" + objName;} catch (com.aliyun.oss.ClientException e) {logger.error("",e);} finally {ossClient.shutdown();}return null;}

下面是效果展示

借鉴文章 :

/eadela/article/details/76169660

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。