最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決vue-quill-editor上傳內(nèi)容由于圖片是base64的導(dǎo)致字符太長的問題

 更新時(shí)間:2018年08月20日 14:23:21   作者:燦爺?shù)那岸酥? 
vue-quill-editor默認(rèn)插入圖片是直接將圖片轉(zhuǎn)為base64再放入內(nèi)容中,如果圖片較多,篇幅太長,就會比較煩惱,接下來通過本文給大家介紹vue-quill-editor上傳內(nèi)容由于圖片是base64的導(dǎo)致字符太長的問題及解決方法,需要的朋友可以參考下

vue-quill-editor是個(gè)較為輕量級富文本框,相較于ueditor,開發(fā)更編輯,更加直觀,如果大家伙在需求允許的情況下,還是會比較建議使用vue-quill-editor。

vue-quill-editor的使用方法在這邊就不多說了,大家網(wǎng)上查下,一抓一大把

但是在使用vue-quill-editor有一個(gè)致命的問題,vue-quill-editor默認(rèn)插入圖片是直接將圖片轉(zhuǎn)為base64再放入內(nèi)容中,如果圖片比較大的話,富文本的內(nèi)容就會很大,即使圖片不大,只要圖片較為多,篇幅較長,富文本的內(nèi)容也是異常的大的,這就會給大家?guī)硪恍溃覀兛赡芨M谔峤桓晃谋镜膬?nèi)容的時(shí)候圖片只是以圖片地址提交,那這樣一來我們要怎么去處理呢,接下來大家可以來理一理

還是老思路,既然我們可以希望不是直接將圖片轉(zhuǎn)成base64,那么我們可以采用選擇完圖片,即將圖片上傳服務(wù)器,服務(wù)器返回相應(yīng)的圖片鏈接,前端將圖片鏈接插入到富文本的指定光標(biāo)上即可,這樣一來就可以實(shí)現(xiàn)我們的想要的效果了

首先,新建富文本組件QuillEditor.vue,利用iview的上傳組件來上傳選擇完的圖片(當(dāng)然,其他的上傳組件也是ok的)

<Upload
    id="iviewUp"
     ref="upload"
     :show-upload-list="false"
     :on-success="handleSingleSuccess"
     :format="['jpg','jpeg','png']"
     :max-size="2048"
     :headers="header"
     :on-format-error="handleFormatError"
     :before-upload="handleBeforeUpload()"
     type="drag"
     :action="serverUrl"
     style="display: none;width:0">
     <div style="width: 0">
       <Icon type="ios-camera" size="50"></Icon>
     </div>
   </Upload>
   <!--<Row>-->
    <quill-editor 
     v-model="detailContent" 
     ref="myQuillEditor" 
     :options="editorOption" 
     @blur="onEditorBlur($event)" @focus="onEditorFocus($event)"
     @change="onEditorChange($event)">
    </quill-editor>
   <!--</Row>-->

看到上面的代碼有的的就會有疑問了,那上傳好的圖片要怎么插到富文本的指定光標(biāo)里面呢,別慌,面包會有的,往下看,

handleSingleSuccess (res, file) {
   // res為圖片服務(wù)器返回的數(shù)據(jù)
   // 獲取富文本組件實(shí)例
   let vm = this
   let quill = this.$refs.myQuillEditor.quill
   console.log('res---', vm.$refs.myQuillEditor.quill.getSelection())
   // 如果上傳成功
   if (res.res_code === '1') {
     // 獲取光標(biāo)所在位置
     let length = quill.getSelection().index;
     // 插入圖片 res.info為服務(wù)器返回的圖片地址
     quill.insertEmbed(length, 'image', res.result.url)
     // 調(diào)整光標(biāo)到最后
     quill.setSelection(length + 1)
   } else {
     vm.$Message.error('圖片插入失敗')
   }
   // loading動畫消失
   this.quillUpdateImg = false
  }

通過 this.$refs.myQuillEditor.quill.getSelection().index獲取光標(biāo)所在位置,將圖片地址放在該位置即可

這樣一來萬事俱備,只欠東風(fēng)了,這個(gè)時(shí)候大家會發(fā)現(xiàn),那iview這個(gè)上傳組件在頁面上呢,我怎么實(shí)現(xiàn)點(diǎn)擊富文本上的上傳圖片的按鈕調(diào)用iview的上傳組件的方法呢,

這個(gè)時(shí)候我們就要用到富文本中的配置屬性editorOption,對editorOption進(jìn)行圖片上傳的點(diǎn)擊事件進(jìn)行相應(yīng)的配置即可,詳情看下面代碼

 editorOption: { // 富文本框配置
     placeholder: '',
     theme: 'snow', // or 'bubble'
     modules: {
       toolbar: {
         container: toolbarOptions, // 工具欄
         handlers: {
           'image': function (value) {
 

if (value) {
               document.querySelector('#iviewUp input').click()
             } else {
               this.quill.format('image', false);
             }
           }
         }
       }
     }
   }

 document.querySelector('#iviewUp input') 這個(gè)就是相應(yīng)的dom節(jié)點(diǎn)的點(diǎn)擊事件,將其綁在富文本的圖片按鈕點(diǎn)擊事件上好了,基本上大功告成。還是算比較簡單的,希望可以供大家參考

總結(jié)

以上所述是小編給大家介紹的解決vue-quill-editor上傳內(nèi)容由于圖片是base64的導(dǎo)致字符太長的問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!

相關(guān)文章

  • 如何使用Vue3+elementPlus的Tree組件實(shí)現(xiàn)一個(gè)拖拽文件夾管理

    如何使用Vue3+elementPlus的Tree組件實(shí)現(xiàn)一個(gè)拖拽文件夾管理

    最近在做一個(gè)文件夾管理的功能,要實(shí)現(xiàn)一個(gè)樹狀的拖拽文件夾面板,里面包含兩種元素,文件夾以及文件,這篇文章主要介紹了使用Vue3+elementPlus的Tree組件實(shí)現(xiàn)一個(gè)拖拽文件夾管理?,需要的朋友可以參考下
    2023-09-09
  • Mpvue中使用Vant Weapp組件庫的方法步驟

    Mpvue中使用Vant Weapp組件庫的方法步驟

    這篇文章主要介紹了Mpvue中使用Vant Weapp組件庫的方法步驟,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2019-05-05
  • Vue keep-alive實(shí)踐總結(jié)(推薦)

    Vue keep-alive實(shí)踐總結(jié)(推薦)

    本篇文章主要介紹了Vue keep-alive實(shí)踐總結(jié)(推薦),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • vue動態(tài)添加背景圖簡單示例

    vue動態(tài)添加背景圖簡單示例

    這篇文章主要給大家介紹了關(guān)于vue動態(tài)添加背景圖的相關(guān)資料,在一些場景下我們需要使用戶可以進(jìn)行自定義背景圖片,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07
  • vue2.0 better-scroll 實(shí)現(xiàn)移動端滑動的示例代碼

    vue2.0 better-scroll 實(shí)現(xiàn)移動端滑動的示例代碼

    本篇文章主要介紹了vue2.0 better-scroll 實(shí)現(xiàn)移動端滑動的示例代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2018-01-01
  • vue二次封裝一個(gè)高頻可復(fù)用組件的全過程

    vue二次封裝一個(gè)高頻可復(fù)用組件的全過程

    在開發(fā)Vue項(xiàng)目我們一般使用第三方UI組件庫進(jìn)行開發(fā),但是這些組件提供的接口并不一定滿足我們的需求,這時(shí)我們可以通過對組件庫組件的二次封裝,來滿足我們特殊的需求,這篇文章主要給大家介紹了關(guān)于vue二次封裝一個(gè)高頻可復(fù)用組件的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • el-form表單實(shí)現(xiàn)校驗(yàn)的示例代碼

    el-form表單實(shí)現(xiàn)校驗(yàn)的示例代碼

    本文主要介紹了el-form表單實(shí)現(xiàn)校驗(yàn)的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-07-07
  • Vue組件創(chuàng)建和傳值的方法

    Vue組件創(chuàng)建和傳值的方法

    這篇文章給大家介紹了vue組件創(chuàng)建和傳值的方法,創(chuàng)建組件有三種方法,文中給大家介紹的非常詳細(xì),父組件傳值給子組件的方法,給大家介紹的也非常詳細(xì),需要的朋友參考下吧
    2018-08-08
  • vant中field組件label屬性兩端對齊問題及解決

    vant中field組件label屬性兩端對齊問題及解決

    這篇文章主要介紹了vant中field組件label屬性兩端對齊問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • 詳解Vue使用命令行搭建單頁面應(yīng)用

    詳解Vue使用命令行搭建單頁面應(yīng)用

    本篇文章主要介紹了詳解Vue使用命令行搭建單頁面應(yīng)用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-05-05

最新評論

两当县| 诸城市| 灵川县| 武宁县| 拉萨市| 凤冈县| 冷水江市| 额敏县| 永年县| 闵行区| 芜湖县| 阿鲁科尔沁旗| 淮安市| 肃南| 教育| 奇台县| 微博| 湖州市| 明水县| 汶上县| 永定县| 集贤县| 江口县| 五原县| 武邑县| 竹山县| 桐乡市| 长宁县| 保德县| 渭南市| 宁城县| 大荔县| 永清县| 瑞安市| 兴宁市| 抚远县| 万安县| 井陉县| 兴安盟| 进贤县| 贵溪市|