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

VueQuillEditor富文本上傳圖片(非base64)

 更新時間:2020年06月03日 09:17:49   作者:Caeser110  
這篇文章主要介紹了VueQuillEditor富文本上傳圖片(非base64),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

前言

本篇文章將介紹vue-quill-editor上傳圖片的那些事,通常來說,我們數(shù)據(jù)庫內(nèi)都是保存圖片路徑的,所以上傳完圖片之后,要回傳一個路徑給前端,這才是完整的上傳步驟。
第一步:上傳圖片,第二步:保存到服務(wù)器,并且生成路徑保存到數(shù)據(jù)庫,第三步:回傳前端,后臺圖片路徑,前端顯示圖片。

本文中使用了element-ui框架來幫助我完成前端展示工作。

上傳圖片

上傳圖片也有幾種方式,比如直接使用file控件上傳到指定地址,又或者是借助封裝好的上傳按鈕上傳圖片,如果是base64傳到后臺,還需要轉(zhuǎn)回圖片原格式加以保存,如果是二進(jìn)制圖片流則直接傳到服務(wù)器即可。
我使用的是element-ui框架里的el-upload組件進(jìn)行上傳,而且這個組件是隱藏的,不會顯示出來

<el-upload
      class="avatar-uploader"
      :action="articleImgUrl"
      name="img"
      :headers="headerObj"
      :show-file-list="false"
      :on-success="uploadSuccess"
      :on-error="uploadError"
      :before-upload="beforeUpload">
      </el-upload>

上述參數(shù)解釋:
(1)class 上傳組件的樣式,也可以用于查找該組件
(2)action 傳值,必選參數(shù),上傳的地址
(3)name 上傳文件字段名,后端在獲取文件時需要起一個名字,這個名字就在這里定義
(4)headers 設(shè)置上傳的請求頭部
(5) show-file-list 是否顯示已上傳文件列表,這里不顯示
(6) on-success 文件上傳成功時的鉤子,如果成功,則回傳圖片地址,顯示圖片將src傳入地址
(7) on-error 文件上傳失敗時的鉤子
(8)before-upload 上傳文件之前的鉤子,參數(shù)為上傳的文件,若返回 false 或者返回 Promise 且被 reject,則停止上傳。

我首先需要監(jiān)聽富文本點擊上傳圖片按鈕的事件:


editorOption: {
    scrollingContainer: '#editorcontainer',
    placeholder: '',
    // or 'bubble'
    theme: 'snow',
    modules: {
     imageResize: {
      displayStyles: {
       backgroundColor: 'black',
       border: 'none',
       color: 'white'
      },
      modules: ['Resize', 'DisplaySize', 'Toolbar']
     },
     toolbar: {
      // 工具欄
      container: toolbarOptions.toolbarOptions,
      handlers: {
       'image': function (value) {
        if (value) {
         // upload點擊上傳事件
         document.querySelector('.avatar-uploader input').click()
        } else {
         this.quill.format('image', false)
        }
       }
      }
     }
    }
   },

上面代碼當(dāng)中toolbar里的handlers就是監(jiān)聽點擊圖片按鈕事件,然后我們模擬點擊el-upload組件,就會彈出選擇文件的框,我們開始選擇文件進(jìn)行上傳。

當(dāng)后端處理好圖片后,我們拿到回傳的地址,在富文本光標(biāo)處插入img標(biāo)簽


// 上傳成功
  uploadSuccess(res) {
   var dt = res.result
   let quill = this.$refs.myQuillEditor.quill
   // 如果上傳成功
   if (dt.meta.status === this.GLB.IMAGE_ADD_SUCCESS && dt.url !== null) {
    // 獲取光標(biāo)所在位置
    let length = quill.getSelection().index
    // 插入圖片 dt.url為服務(wù)器返回的圖片地址
    quill.insertEmbed(length, 'image', this.glAPI + dt.url)
    // 調(diào)整光標(biāo)到最后
    quill.setSelection(length + 1)
   } else {
    this.$message.error('圖片插入失敗')
   }
   // loading加載隱藏
   this.quillUpdateImg = false
  },

如果小伙伴喜歡原生標(biāo)簽使用input標(biāo)簽file類型也是可以的,或者也可以借助JavaScript或者jQuery響應(yīng)點擊事件來傳文件也是可以噠!

總結(jié)

上傳圖片其實是一個很簡單的過程,但是卻需要前后端來配合食用,味道才正宗。所以只學(xué)前端的小伙伴可以找個后端開發(fā)寫個接口啥的幫你回傳一個地址,或者干脆自己造個假的也行。

我一開始不是很清楚圖片到底怎么傳的,比如base64是什么,其實就是照片的一串字符串,這一串字符串就是照片,有的時候是可能存在把這一串base64字符串保存到數(shù)據(jù)庫的。但是大多數(shù)情況我們還是在數(shù)據(jù)庫中保存路徑,所以很多想保存圖片路徑的小伙伴們,可以參考上述代碼,下一篇我將結(jié)合Java來展示圖片保存的代碼是怎樣實現(xiàn)的,又是怎樣回傳圖片地址的,敬請期待吧??!

到此這篇關(guān)于VueQuillEditor富文本上傳圖片(非base64)的文章就介紹到這了,更多相關(guān)VueQuillEditor富文本上傳圖片內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用Vue純前端實現(xiàn)發(fā)送短信驗證碼并實現(xiàn)倒計時

    使用Vue純前端實現(xiàn)發(fā)送短信驗證碼并實現(xiàn)倒計時

    在實際的應(yīng)用開發(fā)中,涉及用戶登錄驗證、密碼重置等場景時,通常需要前端實現(xiàn)發(fā)送短信驗證碼的功能,以提升用戶體驗和安全性,以下是一個簡單的前端實現(xiàn),演示了如何在用戶點擊發(fā)送驗證碼按鈕時觸發(fā)短信驗證碼的發(fā)送,并開始一個倒計時
    2024-04-04
  • 一文帶你了解Vue中的axios和proxy代理

    一文帶你了解Vue中的axios和proxy代理

    這篇文章主要為大家詳細(xì)介紹了Vue中的axios和proxy代理的相關(guān)知識,文中的示例代碼講解詳細(xì),具有一定的借鑒價值,需要的可以參考一下
    2023-03-03
  • vue+elementui實現(xiàn)選項卡功能

    vue+elementui實現(xiàn)選項卡功能

    這篇文章主要為大家詳細(xì)介紹了vue+elementui實現(xiàn)選項卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解Vue組件之作用域插槽

    詳解Vue組件之作用域插槽

    這篇文章主要介紹了Vue組件之作用域插槽,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • vue組件添加事件@click.native操作

    vue組件添加事件@click.native操作

    這篇文章主要介紹了vue組件添加事件@click.native操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Vue+ElementUI技巧之自定義表單項label的文字提示方法

    Vue+ElementUI技巧之自定義表單項label的文字提示方法

    這篇文章主要給大家介紹了關(guān)于Vue+ElementUI技巧之自定義表單項label文字提示的相關(guān)資料,文中通過圖文以及代碼示例介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-02-02
  • electron+vue?實現(xiàn)靜默打印功能

    electron+vue?實現(xiàn)靜默打印功能

    這篇文章主要介紹了electron+vue?實現(xiàn)靜默打印功能,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-06-06
  • 在Vue2中注冊全局組件的兩種方法詳解

    在Vue2中注冊全局組件的兩種方法詳解

    這篇文章主要介紹了在Vue2中注冊全局組件的兩種方法,非常的細(xì)致,需要的朋友可以參考下
    2022-07-07
  • Vue請求java服務(wù)端并返回數(shù)據(jù)代碼實例

    Vue請求java服務(wù)端并返回數(shù)據(jù)代碼實例

    這篇文章主要介紹了Vue請求java服務(wù)端并返回數(shù)據(jù)代碼實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-11-11
  • Vue 組件組織結(jié)構(gòu)及組件注冊詳情

    Vue 組件組織結(jié)構(gòu)及組件注冊詳情

    這篇文章主要介紹的是Vue 組件組織結(jié)構(gòu)及組件注冊,為了能在模板中使用,這些組件必須先注冊以便 Vue 能夠識別。這里有兩種組件的注冊類型:全局注冊和局部注冊。至此,我們的組件都只是通過 Vue.component 全局注冊的,文章學(xué)詳細(xì)內(nèi)容,需要的朋友可以參考一下
    2021-10-10

最新評論

承德县| 红桥区| 瑞金市| 格尔木市| 铅山县| 吉木萨尔县| 甘德县| 湛江市| 阿克| 台江县| 疏勒县| 米脂县| 昌平区| 二连浩特市| 黄陵县| 泸州市| 泗洪县| 江川县| 凌云县| 大名县| 吴忠市| 上杭县| 岳阳市| 珠海市| 芜湖市| 宝清县| 时尚| 香港 | 泸水县| 宁津县| 林甸县| 繁峙县| 泾川县| 兴宁市| 深水埗区| 常熟市| 玉屏| 梁河县| 荣昌县| 克东县| 孟州市|