git: https://github.com/NextBoy/vu...vue
A plug-in for uploading images to your server when you use vue-quill-editor.git
富文本編輯器vue-quill-editor的輔助插件,用於上傳圖片到你的服務器github
因爲本模塊不兼容其餘模塊,頗有侷限性,現已經開發了新的插件,而且增長了複製粘貼拖拽上傳等功能,也能兼容別人的模塊,你們要使用的話使用新模塊quill-image-extend-module,完美兼容調整大小resize-modulenpm
npm install vue-quill-editor-upload --save
<template> <!-- bidirectional data binding(雙向數據綁定) --> <quill-editor v-model="content" ref="myQuillEditor" :options="editorOption"> </quill-editor> </template> <script> import {quillRedefine} from 'vue-quill-editor-upload' import {quillEditor} from 'vue-quill-editor' export default { components: {quillEditor, quillRedefine}, data () { return { content: '', editorOption: {} // 必須初始化爲對象 init to Object } }, created () { this.editorOption = quillRedefine( { // 圖片上傳的設置 uploadConfig: { action: '', // 必填參數 圖片上傳地址 // 必選參數 res是一個函數,函數接收的response爲上傳成功時服務器返回的數據 // 你必須把返回的數據中所包含的圖片地址 return 回去 res: (respnse) => { return respnse.info }, name: 'img' // 圖片上傳參數名 } } ) console.log(this.editorOption) } } </script>
You have to install vue-quill-editor first.segmentfault
請確保您已安裝了 vue-quill-editor服務器
import {quillRedefine} from 'vue-quill-editor-upload'
quillRedefine是一個函數
quillRedefine 可接收的全部參數(all params)session
{ // 圖片上傳的設置 uploadConfig: { action: '', // 必填參數 圖片上傳地址 // 必選參數 res是一個函數,函數接收的response爲上傳成功時服務器返回的數據 // 你必須把返回的數據中所包含的圖片地址 return 回去 res: (respnse) => { return respnse.info }, methods: 'POST', // 可選參數 圖片上傳方式 默認爲post token: sessionStorage.token, // 可選參數 若是須要token驗證,假設你的token有存放在sessionStorage name: 'img', // 可選參數 文件的參數名 默認爲img size: 500, // 可選參數 圖片限制大小,單位爲Kb, 1M = 1024Kb accept: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon', // 可選參數 可上傳的圖片格式 // start: function (){} start: () => { }, // 可選參數 接收一個函數 開始上傳數據時會觸發 end: () => { }, // 可選參數 接收一個函數 上傳數據完成(成功或者失敗)時會觸發 success: () => {}, // 可選參數 接收一個函數 上傳數據成功時會觸發 error: () => { } // 可選參數 接收一個函數 上傳數據中斷時會觸發 }, // 如下全部設置都和vue-quill-editor自己所對應 placeholder: '', // 可選參數 富文本框內的提示語 theme: '', // 可選參數 富文本編輯器的風格 toolOptions: [], // 可選參數 選擇工具欄的須要哪些功能 默認是所有 handlers: {} // 可選參數 重定義的事件,好比link等事件 }
you must to do: :options="editorOption"
to bound Parameters編輯器
你必須綁定option :options="editorOption"
函數
<template> <!-- bidirectional data binding(雙向數據綁定) --> <quill-editor :options="editorOption"> </quill-editor> </template>
return editorOption 工具
必須在return 中書寫editorOPtion 而且設置默認爲空對象
data () { return { content: '', editorOption: {} // 必須初始化爲對象 init to Object } }
init in created
在created生命週期中生成實際數據
created () { this.editorOption = quillRedefine( { // 圖片上傳的設置 uploadConfig: { action: '', // 必填參數 圖片上傳地址 // 必選參數 res是一個函數,函數接收的response爲上傳成功時服務器返回的數據 // 你必須把返回的數據中所包含的圖片地址 return 回去 res: (respnse) => { return respnse.info // 這裏切記要return回你的圖片地址 } } } ) // console.log(this.editorOption) }
因爲不一樣的用戶的服務器返回的數據格式不盡相同
所以
在uploadConfig中,你必須以下操做
// 你必須把返回的數據中所包含的圖片地址 return 回去 res: (respnse) => { return respnse.info // 這裏切記要return回你的圖片地址 }
好比你的服務器返回的成功數據爲
{ code: 200, starus: true, result: { img: 'http://placehold.it/100x100' // 服務器返回的數據中的圖片的地址 } }
那麼你應該在參數中寫爲:
// 你必須把返回的數據中所包含的圖片地址 return 回去 res: (respnse) => { return respnse.result.img // 這裏切記要return回你的圖片地址 }
完整用例
<template> <!-- bidirectional data binding(雙向數據綁定) --> <quill-editor v-model="content" ref="myQuillEditor" :options="editorOption"> </quill-editor> </template> <script> import {quillRedefine} from 'vue-quill-editor-upload' import {quillEditor} from 'vue-quill-editor' export default { components: {quillEditor, quillRedefine}, data () { return { content: '', editorOption: {} // 必須初始化爲對象 init to Object } }, created () { this.editorOption = quillRedefine( { // 圖片上傳的設置 uploadConfig: { action: '', // 必填參數 圖片上傳地址 // 必選參數 res是一個函數,函數接收的response爲上傳成功時服務器返回的數據 // 你必須把返回的數據中所包含的圖片地址 return 回去 res: (respnse) => { return respnse.info }, methods: 'POST', // 可選參數 圖片上傳方式 默認爲post token: sessionStorage.token, // 可選參數 若是須要token驗證,假設你的token有存放在sessionStorage name: 'img', // 可選參數 文件的參數名 默認爲img size: 500, // 可選參數 圖片限制大小,單位爲Kb, 1M = 1024Kb accept: 'image/png, image/gif, image/jpeg, image/bmp, image/x-icon', // 可選參數 可上傳的圖片格式 // start: function (){} start: () => { }, // 可選參數 接收一個函數 開始上傳數據時會觸發 end: () => { }, // 可選參數 接收一個函數 上傳數據完成(成功或者失敗)時會觸發 success: () => { }, // 可選參數 接收一個函數 上傳數據成功時會觸發 error: () => { } // 可選參數 接收一個函數 上傳數據中斷時會觸發 }, // 如下全部設置都和vue-quill-editor自己所對應 placeholder: '', // 可選參數 富文本框內的提示語 theme: '', // 可選參數 富文本編輯器的風格 toolOptions: [], // 可選參數 選擇工具欄的須要哪些功能 默認是所有 handlers: {} // 可選參數 重定義的事件,好比link等事件 } ) console.log(this.editorOption) } } </script>