Summernote實(shí)現(xiàn)圖片上傳功能的簡(jiǎn)單方法
還是接著之前說過的最近在寫一個(gè)BootStrap網(wǎng)頁....然后要用富文本編輯器,隨便搜了下就選了這貨
然后發(fā)現(xiàn)了很尷尬的問題...圖片上傳功能無效....然后各種搜索各種無果...最后怒翻Summernote官方文檔總算解決了,總之寫下解決過程
后端部分就不提供代碼了,滿大街都是,這里假設(shè)后端拿到上傳文件后返回文件的地址
首先附上參考資料:Summernote官方開發(fā)文檔
簡(jiǎn)單說下Summernote的圖片上傳功能實(shí)現(xiàn)方案
首先根據(jù)官方文檔提供的API,掛接文件上傳事件,然后自己用JS重新上傳文件,最后用API把圖片插入到編輯框內(nèi)即可
本來是挺簡(jiǎn)單的問題,可惜官方也不知道為什么居然更改了接口寫法...然后網(wǎng)上搜到的資料全都坑掉了....雖然也有我搜的不夠深入的原因
總之整理下核心的兩個(gè)SummernoteAPI,接管文件上傳事件和插入圖片,根據(jù)官方文檔說明格式如下
//接管圖片上傳事件 $('#summernote').summernote({ callbacks: { onImageUpload: function(files) { // 上傳圖片到服務(wù)器并且插入圖片到編輯框 } } }); //插入圖片 $('#summernote').summernote('insertImage', url, filename); //更加詳細(xì)的解釋見上面提供的官網(wǎng)API文檔
然后就可以很輕松的實(shí)現(xiàn)支持上傳圖片的Summernote編輯框了
代碼如下:
$('#summernote').summernote({ callbacks: { onImageUpload: function(files) { //上傳圖片到服務(wù)器,使用了formData對(duì)象,至于兼容性...據(jù)說對(duì)低版本IE不太友好 var formData = new FormData(); formData.append('file',files[0]); $.ajax({ url : 'upload',//后臺(tái)文件上傳接口 type : 'POST', data : formData, processData : false, contentType : false, success : function(data) { $('#summernote').summernote('insertImage',data,'img'); } }); } } });
最后,這只實(shí)現(xiàn)了一個(gè)最簡(jiǎn)單的,兼容性不怎樣而且完全不考慮錯(cuò)誤異常提示的圖片上傳功能而已....請(qǐng)根據(jù)需要自行修改
以上這篇Summernote實(shí)現(xiàn)圖片上傳功能的簡(jiǎn)單方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用TypeScript實(shí)現(xiàn)高效的異步隊(duì)列任務(wù)管理
在javaScript項(xiàng)目開發(fā)中,異步編程是不可或缺的一部分,從網(wǎng)絡(luò)請(qǐng)求到延時(shí)操作,異步操作使得我們能夠在等待某個(gè)任務(wù)完成時(shí)繼續(xù)執(zhí)行其他任務(wù),提高應(yīng)用的響應(yīng)性和性能,本文使用JavaScript實(shí)現(xiàn)一個(gè)異步隊(duì)列來優(yōu)雅地管理復(fù)雜的異步任務(wù)流,需要的朋友可以參考下2024-03-03使用JavaScript實(shí)現(xiàn)旋轉(zhuǎn)的彩圈特效
這篇文章主要介紹了使用JavaScript實(shí)現(xiàn)旋轉(zhuǎn)的彩圈特效的相關(guān)資料,需要的朋友可以參考下2015-06-06Cordova(ionic)項(xiàng)目實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Cordova項(xiàng)目實(shí)現(xiàn)雙擊返回鍵退出應(yīng)用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09Weex開發(fā)之WEEX-EROS開發(fā)踩坑(小結(jié))
這篇文章主要介紹了Weex開發(fā)之WEEX-EROS開發(fā)踩坑(小結(jié)),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10如何使用webpack打包一個(gè)庫library的方法步驟
這篇文章主要介紹了如何使用webpack打包一個(gè)庫library的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Bootstrap模態(tài)框水平垂直居中與增加拖拽功能
最近開發(fā)一個(gè)CMS系統(tǒng)使用上了Bootstrap,在開發(fā)一個(gè)添加某些選項(xiàng)時(shí),打算彈出一個(gè)模態(tài)框,但是發(fā)現(xiàn),模態(tài)框不會(huì)垂直居中到屏幕上,而是在屏幕上方,通過查閱資料才解決此問題,下面小編給大家分享解決思路2016-11-11JavaScript?位運(yùn)算及實(shí)際應(yīng)用實(shí)例
這篇文章主要為大家介紹了JavaScript位運(yùn)算及實(shí)際應(yīng)用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08