电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

詳解springboot整合ueditor踩過的坑

瀏覽:8日期:2023-05-10 14:07:39

有一天老板突然找我讓我改富文本(一臉懵逼,不過也不能推啊默默地接下了),大家都知道現在的富文本視頻功能都是只有上傳鏈接的沒有從本地上傳這一說(就連現在的csdn的也是)于是我找了好多個,最終發現百度的ueditor可以。經過幾天的日夜,甚至犧牲了周末休息時間開始翻閱資料。。。

廢話不多說,開始教程:

第一步:

去ue官網下載他的源碼

詳解springboot整合ueditor踩過的坑

第二步:

解壓下載的源碼(下載可能會慢,好像需要翻墻下載)然后打開項目把源碼拖進項目的resources/static中去

詳解springboot整合ueditor踩過的坑

第三步

就是重點了由于springboot現在默認是不支持jsp的所以jap下的controller.jsp 運行后springboot是找不到路徑的,就會出現富文本存在,而上傳圖片或者視頻的地方會顯示(后端未配置)

詳解springboot整合ueditor踩過的坑

這里要說下:下面就你就要把源碼里面的jsp下有4個jar包,你需要復制到項目中然后add進去,或者你找maven地址也可,但是不建議因為浪費時間。

第四步:由于無法獲取地址,那么我們就自己寫一個controller進行映射,怕大家懶,我這里拷貝我的提供使用

@RestController@RequestMapping('/Test')public class UeTestController { /** * 上傳配置:即不走config.json,模擬config.json里的內容,解決后端配置項不正確,無法上傳的問題 * @return */ @RequestMapping(value = '/ueditor/config',method = RequestMethod.GET) @ResponseBody public String uploadConfig(String action,String noCache) { //注意以下:imageActionName 根據這個ActionName的名字來上傳接口:比如我現在設置的上傳文件接口為下面那個:multipleCarouselFiles //imageUrlPrefix:是【點擊確認之后,加載的資源路徑】所屬服務器中獲取資源 System.out.println('進入config===================='); System.out.println('action='+action+' callback='+noCache); String s = '{n' +' 'basePath': 'C:/',n' +' 'imageActionName': '/Test/multipleCarouselFiles',n' +''imageFieldName': 'upfile', n' +''imageMaxSize': 2048000, n' +''imageAllowFiles': ['.png', '.jpg', '.jpeg', '.gif', '.bmp'], n' +''imageCompressEnable': true, n' +''imageCompressBorder': 1600, n' +''imageInsertAlign': 'none', n' +''imageUrlPrefix': 'http://localhost:8082/images/upload',n' +''imagePathFormat': '/ueditor/jsp/upload/image/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上傳視頻配置 */n' +' 'videoActionName': '/Test/multipleCarouselFiles', /* 執行上傳視頻的action名稱 */n' +' 'videoFieldName': 'upfile', /* 提交的視頻表單名稱 */n' +' 'videoPathFormat': '/ueditor/jsp/upload/video/{yyyy}{mm}{dd}/{time}{rand:6}', /* 上傳保存路徑,可以自定義保存路徑和文件名格式 */n' +' 'videoUrlPrefix': 'http://localhost:8082/images/upload', /* 視頻訪問路徑前綴 */n' +' 'videoMaxSize': 102400000, /* 上傳大小限制,單位B,默認100MB */n' +' 'videoAllowFiles': [n' +' '.flv', '.swf', '.mkv', '.avi', '.rm', '.rmvb', '.mpeg', '.mpg',n' +' '.ogg', '.ogv', '.mov', '.wmv', '.mp4', '.webm', '.mp3', '.wav', '.mid']/* 上傳視頻格式顯示 */ }'; return s; } /** * Ueditor上傳文件 * 這里以上傳圖片為例,圖片上傳后,imgPath將存儲圖片的保存路徑,返回到編輯器中做展示 * @param file * @return */ @RequestMapping(value = '/multipleCarouselFiles',method = RequestMethod.POST) @ResponseBody public String uploadimage(@RequestParam('upfile') MultipartFile file, HttpServletRequest request, HttpServletResponse response) { //服務協議 String Scheme =request.getScheme(); //服務器名稱 String ServerName= request.getServerName(); //服務器端口 int Port= request.getServerPort(); String url=Scheme+'://'+ServerName+':'+Port; Results results=new Results(); //判斷非空 if (file.isEmpty()) { return '上傳的文件不能為空'; } try { //1、先獲取jar所在同級目錄 File path = new File(ResourceUtils.getURL('classpath:').getPath()); if(!path.exists()){path = new File(''); } System.out.println('獲取jar所在同級目錄 path:'+path.getAbsolutePath()); //2、如果上傳目錄為/static/images/upload/,則可以如下獲取: File upload = new File(path.getAbsolutePath(),'static/images/upload/New_img/'); if(!upload.exists()){upload.mkdirs(); } System.out.println('上傳目錄為/static/images/upload/中---upload url:'+upload.getAbsolutePath()); //測試MultipartFile接口的各個方法 System.out.println('[文件類型ContentType] -:'+file.getContentType()); System.out.println('[文件組件名稱Name] -:'+file.getName()); System.out.println('[文件原名稱OriginalFileName] -:'+file.getOriginalFilename()); System.out.println('[文件大小] -:'+file.getSize()); System.out.println(this.getClass().getName()+'圖片路徑:'+upload); // 如果不存在該路徑就創建 String uploadPath=upload+''; File dir = new File(uploadPath + file.getOriginalFilename()); // 文件寫入 file.transferTo(dir); //在開發測試模式時,得到的地址為:{項目根目錄}/target/static/images/upload/ //在打包成jar正式發布時,得到的地址為:{發布jar包目錄}/static/images/upload/ results.setMessage('上傳單個文件成功'); } catch (Exception e) { e.printStackTrace(); results.setMessage('上傳單個文件失敗'); } String result = ''; if(!file.isEmpty()) { String originalFileName = file.getOriginalFilename(); // 這里寫你的文件上傳邏輯 // String imgPath = fileUtil.uploadImg(file); String imgPath = '/New_img/'+originalFileName; result = '{n' + ' 'state': 'SUCCESS',n' + ' 'url': '' + imgPath + '',n' + ' 'title': '' + originalFileName + '',n' + ' 'original': '' + originalFileName + ''n' + '}'; } return result; }}

下面附上一個老哥給我發的上傳文件用的一個類Results

import com.fasterxml.jackson.annotation.JsonProperty;/** ueditor 使用類* */public class Results { private Object Data; private String Message; private boolean Status; @Override public String toString() { return 'Results{' +'Data=' + Data +', Message=’' + Message + ’’’ +', Status=' + Status +’}’; } @JsonProperty('Data') public Object getData() { return Data; } public void setData(Object data) { Data = data; } @JsonProperty('Message') public String getMessage() { return Message; } public void setMessage(String message) { Message = message; } @JsonProperty('Status') public boolean isStatus() { return Status; } public void setStatus(boolean status) { Status = status; }}

下面就要修改ueditor中最重要的映射地址位置(ueditor.config.js)也就是說他為什么能加載你寫的testcontroller就是這個地方在起作用(附圖):

詳解springboot整合ueditor踩過的坑

如果你從上面跟我路徑一直,可以直接復制我的地址此時你在運行項目就會進入自己寫的controller上面其實我都一步寫好了,其實在我做的過程中還遇到了

詳解springboot整合ueditor踩過的坑

(圖是我找的,但是問題一模一樣),具體什么原因就是因為沒有配置好圖片上傳的路徑說到這我要提一下你引入富文本的地方,需要做一個這個配置

詳解springboot整合ueditor踩過的坑

其他位置不要動就可以,到這夠詳細吧,做這個真是做的我腦袋都大了,好在有一個老哥幫了我一把,非常感謝,還有什么問題留言就可,看到就會回

到此這篇關于詳解springboot整合ueditor踩過的坑的文章就介紹到這了,更多相關springboot整合ueditor內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
主站蜘蛛池模板: 电机铸铝配件_汽车压铸铝合金件_发动机压铸件_青岛颖圣赫机械有限公司 | 微波萃取合成仪-电热消解器价格-北京安合美诚科学仪器有限公司 | 深圳APP开发_手机软件APP定制外包_小程序开发公司-来科信 | 注塑机-压铸机-塑料注塑机-卧式注塑机-高速注塑机-单缸注塑机厂家-广东联升精密智能装备科技有限公司 | 开业庆典_舞龙舞狮_乔迁奠基仪式_开工仪式-神挚龙狮鼓乐文化传媒 | 撕碎机_轮胎破碎机_粉碎机_回收生产线厂家_东莞华达机械有限公司 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 海尔生物医疗四川代理商,海尔低温冰箱四川销售-成都壹科医疗器械有限公司 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 伶俐嫂培训学校_月嫂培训班在哪里报名学费是多少_月嫂免费政府培训中心推荐 | 多功能真空滤油机_润滑油全自动滤油机_高效真空滤油机价格-重庆润华通驰 | 12cr1mov无缝钢管切割-15crmog无缝钢管切割-40cr无缝钢管切割-42crmo无缝钢管切割-Q345B无缝钢管切割-45#无缝钢管切割 - 聊城宽达钢管有限公司 | DWS物流设备_扫码称重量方一体机_快递包裹分拣机_广东高臻智能装备有限公司 | 间甲酚,间甲酚厂家-山东祥东新材料| 据信,上课带着跳 D 体验-别样的课堂刺激感受引发网友热议 | 精密冲床,高速冲床等冲压设备生产商-常州晋志德压力机厂 | 安规_综合测试仪,电器安全性能综合测试仪,低压母线槽安规综合测试仪-青岛合众电子有限公司 | 浙江寺庙设计-杭州寺院设计-宁波寺庙规划_汉匠 | 变色龙PPT-国内原创PPT模板交易平台 - PPT贰零 - 西安聚讯网络科技有限公司 | 离子色谱自动进样器-青岛艾力析实验科技有限公司 | 拉力测试机|材料拉伸试验机|电子拉力机价格|万能试验机厂家|苏州皖仪实验仪器有限公司 | 车牌识别道闸_停车场收费系统_人脸识别考勤机_速通门闸机_充电桩厂家_中全清茂官网 | uv固化机-丝印uv机-工业烤箱-五金蚀刻机-分拣输送机 - 保定市丰辉机械设备制造有限公司 | 上海新光明泵业制造有限公司-电动隔膜泵,气动隔膜泵,卧式|立式离心泵厂家 | 超声波清洗机_大型超声波清洗机_工业超声波清洗设备-洁盟清洗设备 | CE认证_产品欧盟ROHS-REACH检测机构-商通检测 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 哈尔滨发电机,黑龙江柴油发电机组-北方星光 | 包塑丝_高铁绑丝_地暖绑丝_涂塑丝_塑料皮铁丝_河北创筹金属丝网制品有限公司 | 雷达液位计_超声波风速风向仪_雨量传感器_辐射传感器-山东风途物联网 | 乐考网-银行从业_基金从业资格考试_初级/中级会计报名时间_中级经济师 | 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 污水处理设备维修_污水处理工程改造_机械格栅_过滤设备_气浮设备_刮吸泥机_污泥浓缩罐_污水处理设备_污水处理工程-北京龙泉新禹科技有限公司 | 臻知网大型互动问答社区-你的问题将在这里得到解答!-无锡据风网络科技有限公司 | 高硼硅玻璃|水位计玻璃板|光学三棱镜-邯郸奥维玻璃科技有限公司 高温高压釜(氢化反应釜)百科 | 拼装地板,悬浮地板厂家,悬浮式拼装运动地板-石家庄博超地板科技有限公司 | 重庆网站建设,重庆网站设计,重庆网站制作,重庆seo,重庆做网站,重庆seo,重庆公众号运营,重庆小程序开发 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 花纹铝板,合金铝卷板,阴极铝板-济南恒诚铝业有限公司 | 伺服电机_直流伺服_交流伺服_DD马达_拓达官方网站 | 中央空调维修、中央空调保养、螺杆压缩机维修-苏州东菱空调 |