1. 程式人生 > 程式設計 >如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

相關文件

本文部分內容借鑑: https://www.cnblogs.com/zhongchao666/p/11142537.html

tinymce中文文件: http://tinymce.ax-z.cn/

安裝tinymce

1、安裝相關依賴

yarn add tinymce  ||  npm install tinymce -S

yarn add @tinymce/tinymce-vue  ||  npm install @tinymce/tinymce-vue -S

2、漢化編輯器前往此地址下載中文漢化包: https://www.tiny.cloud/get-tiny/language-packages/

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

在專案public資料夾下新建tinymce資料夾,將下載後的壓縮包解壓至此資料夾另將node_modules/tinymce/skins資料夾也複製到public/tinymce裡

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

3、封裝元件:在src/components下新建TEditor.vue,並寫入以下程式碼

<template>
    <div class="tinymce-box">
		<Editor v-model="contentValue" :init="init" :disabled="disabled" @onClick="onClick" />
	</div>
</template>

<script>
import api from '../api/api.
js
' //引入tinymce編輯器 import Editor from '@tinymce/tinymce-vue' //引入node_modules裡的tinymce相關檔案檔案 import tinymce from 'tinymce/tinymce' //tinymce預設hidden,不引入則不顯示編輯器 import 'tinymce/themes/silver' //編輯器主題,不引入則報錯 import 'tinymce/icons/default' //引入編輯器圖示icon,不引入則不顯示對應圖示 // 引入編輯器外掛(基本免費外掛都在這兒了) import 'tinymce/plugins/advlist' //高階列表 import 'tinymce/plugins/anchor' //錨點 import 'tinymce/plugins/autolink' //自動連結 import 'tinymce/plugins/autoresize' //編輯器高度自適應,注:plugins裡引入此外掛時,Init裡設定的height將失效 import 'tinymce/plugins/autosave' //自動存稿 import 'tinymce/plugins/charmap' //特殊字元 import 'tinymce/plugins/code' //編輯原始碼 import 'tinymce/plugins/codesample' //程式碼示例 import 'tinymce/plugins/directionality' //文字方向 import 'tinymce/plugins/emoticons' //表情 import 'tinymce/plugins/fullpage' //文件屬性 import 'tinymce/plugins/fullscreen' //全屏 import 'tinymce/plugins/help' //幫助 import 'tinymce/plugins/hr' //水平分割線 import 'tinymce/plugins/image' //插入編輯圖片 import 'tinymce/plugins/import
css
' //引入css import 'tinymce/plugins/insertdatetime' //插入日期時間 import 'tinymce/plugins/link' //超連結 import 'tinymce/plugins/lists' //列表外掛 import 'tinymce/plugins/media' //插入編輯媒體 import 'tinymce/plugins/nonbreaking' //插入不間斷空格 import 'tinymce/plugins/pagebreak' //插入分頁符 import 'tinymce/plugins/paste' //貼上外掛 import 'tinymce/plugins/preview'//預覽 import 'tinymce/plugins/print'//列印 import 'tinymce/plugins/quickbars' //快速工具欄 import 'tinymce/plugins/save' //儲存 import 'tinymce/plugins/searchreplace' //查詢替換 // import 'tinymce/plugins/spellchecker' //拼寫檢查,暫未加入漢化,不建議使用 import 'tinymce/plugins/tabfocus' //切入切出,按tab鍵切出編輯器,切入頁面其他輸入框中 import 'tinymce/plugins/table' //表格 import 'tinymce/plugins/template' //內容模板 import 'tinymce/plugins/textcolor' //文字顏色 import 'tinymce/plugins/textpattern' //快速排版 import 'tinymce/plugins/toc' //目錄生成器 import 'tinymce/plugins/visualblocks' //顯示元素範圍 import 'tinymce/plugins/visualchars' //顯示不可見字元 import 'tinymce/plugins/wordcount' //字數統計 export default { name: 'TEditor',components: { Editor },props: { value: { type: String,default: '' },disabled: { type: Boolean,default: false },plugins: { type: [String,Array],default: 'print preview searchreplace autolink directionality visualblocks visualchars fullscreen image link media template code codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists wordcount textpattern autosave ' },toolbar: { type: [String,default: 'fullscreen undo redo restoredraft | cut copy paste pastetext | forecolor backcolor bold italic underline strikethrough link anchor | alignleft aligncenter alignright alignjustify outdent indent | \ styleselect formatselect fontselect fontsizeselect | bullist numlist | blockquote subscript superscript removeformat | \ table image media charmap hr pagebreak insertdatetime print preview | code selectall searchreplace visualblocks | indent2em lineheight formatpainter axupimgs' },},data(){ return { init: { language_url: '/tinymce/langs/zh_CN.js',//引入語言包檔案 language: 'zh_CN',//語言型別 skin_url: '/tinymce/skins/ui/oxide',//面板:淺色 // skin_url: '/tinymce/skins/ui/oxide-dark',//面板:暗色 plugins: this.plugins,//外掛配置 toolbar: this.toolbar,//工具欄配置,設為false則隱藏 // menubar: 'file edit',//選單欄配置,設為false則隱藏,不配置則預設顯示全部選單,也可自定義配置--檢視 http://tinymce.ax-z.cn/configure/editor-appearance.php --搜尋“自定義選單” fontsize_formats: '12px 14px 16px 18px 20px 22px 24px 28px 32px 36px 48px 56px 72px',//字型大小 font_formats: '微軟雅黑=Microsoft YaHei,Helvetica Neue,PingFang SC,sans-serif;蘋果蘋方=PingFang SC,Microsoft YaHei,sans-serif;宋體=simsun,serif;仿宋體=FangSong,serif;黑體=SimHei,sans-serif;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;',//字型樣式 lineheight_formats: "0.5 0.8 1 1.2 1.5 1.75 2 2.5 3 4 5",//行高配置,也可配置成"12px 14px 16px 20px"這種形式 height: 400,//注:引入autoresize外掛時,此屬性失效 placeholder: '在這裡輸入文字',branding: false,//tiny技術支援資訊是否顯示 resize: false,//編輯器寬高是否可變,false-否,true-高可變,'both'-寬高均可,注意引號 // statusbar: false,//最下方的元素路徑和字數統計那一欄是否顯示 elementpath: false,//元素路徑是否顯示 content_style: "img {max-width:100%;}",//直接自定義可編輯區域的css樣式 // content_css: '/tinycontent.css',//以css檔案方式自定義可編輯區域的css樣式,css檔案需自己建立並引入 // images_upload_url: '/apib/api-upload/uploadimg',//後端處理程式的url,建議直接自定義上傳函式image_upload_handler,這個就可以不用了 // images_upload_base_path: '/demo',//相對基本路徑--關於圖片上傳建議檢視--http://tinymce.ax-z.cn/general/upload-images.php paste_data_images: true,//圖片是否可貼上 images_upload_handler: (blobInfo,success,failure) => { if(blobInfo.blob().size/1024/1024>2){ failure("上傳失敗,圖片大小請控制在 2M 以內") }else{ let params=new FormData() params.append('file',blobInfo.blob()) let config={ headers:{ "Content-Type":"multipart/form-data" } } this.$axios.post(`${api.baseUrl}/api-upload/uploadimg`,params,config).then(res=>{ if(res.data.code==200){ success(res.data.msg) //上傳成功,在成功函式裡填入圖片路徑 }else{ failure("上傳失敗") } }).catch(()=>{ failure("上傳出錯,伺服器開小差了呢") }) } } },contentValue: this.value } },watch: { value (newValue) { this.contentValue = newValue },contentValue (newValue) { this.$emit('input',newValue) },created(){ 程式設計客棧 },mounted(){ tinymce.init({}) },methods: { // 新增相關的事件,可用的事件參照文件=> https://github.com/tinymce/tinymce-vue => All available events onClick(e){ this.$emit('onClick',e,tinymce) },//清空內容 clear(){ this.contentValue = '' },} </script> <style lang="less"> </style>

註冊及使用元件

在main.js中全域性註冊
import TEditor from '@/components/TEditor.vue'
Vue.component('TEditor',TEditor)

在相關頁面使用
<TEditor ref="editor" v-model="value" />

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

注:單圖上傳外掛呼叫介面不同,上傳圖片和上傳檔案的兩個函式都有呼叫,所以上傳檔案函式裡也要新增對圖片上傳的判斷和處理

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

表情外掛無法成功載入

出現如下報錯,是因為引入路徑出問題,引入不到檔案包導致的,需要自己配置路徑

Uncaught SyntaxError: Unexpected token '<'
Failed to load emoticons: Script at URL
 "http://xxxx/static/js/plugins/emoticons/js/emojis.js" did not call
 `tinymce.Resource.add('tinymce.plugins.emoticons',data)` within 1 second

解決方法

1、將node_modules/tinymce/plugins/emoticons資料夾複製到public/tinymce裡

2、在如上程式碼裡的init裡新增一行程式碼emoticons_database_url:'/tinymce/emoticons/js/emojis.js',見圖

3、在如上程式碼裡的plugins和toolbars裡分別新增emoticons來引入表情外掛,見圖

4、重新整理或重啟專案即可

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

新增首行縮排功能

參考文件: http://tinymce.ax-z.cn/more-plugins/indent2em.php

1、前往上方文件裡下載intent2em外掛

2、將解壓後的首行縮排外掛intent2em複製到public/tinymce資料夾下,見圖

3、在indent2em裡新建index.js並寫入以下程式碼
// Exports the "indent2em" plugin for usage with module loaders
// Usage:
//   CommonJS:
//     require('tinymce/plugins/indent2em')
//   ES2015:
//     import 'tinymce/plugins/indent2em'
require('./plugin.js');

4、在components/TEditor.vue裡引入首行縮排外掛www.cppcns.com,並在plugins和toolbar裡註冊該外掛,見圖
import '../../public/tinymce/indent2em'  //首行縮排

5、重新整理或重啟專案即可使用

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

格式刷

方法和首行縮排功能一樣

解決css引入報警告的問題

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

解決

由於專案路徑的部署,之前的預設css引入可能會出現問題並報警告,所以建議自己引入一份css以替代之前的
1、在public/tinymce資料夾下新建tinycontent.css
2、在src/components/TEditor.vue的init裡引入tinycontent.css,並將content_style註釋掉(因為引入css檔案,content_style欄位就不需要了)
content_css: `${api.editorUrl}tinymce/tinycontent.css`,//以css檔案方式自定義可編輯區域的css樣式,css檔案需自己建立並引入
3、重新整理或重啟專案即可,警告消失

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

實現多圖上傳功能

參考文件: http://tinymce.ax-z.cn/more-plugins/axupimgs.php

1、前往上方文件裡下載多圖上傳外掛axupimgs

2、將解壓後的多圖上傳外掛axupimgs複製到public/tinymce資料夾下

3、在axupimgs資料夾下新建index.js並寫入以下程式碼
// Exports the "axupimgs" plugin for usage with module loaders
// Usage:
//   CommonJS:
//     require('tinymce/plugins/axupimgs')
//   ES2015:
//     import 'tinymce/plugins/axupimgs'
require('./plugin.js');

4、開啟axupimgs/plugin.js,配置以下幾行程式碼(為什麼配置:因為這幾行程式碼的作用是引入多圖上傳彈框upfiles.html檔案,
若多圖上傳功能有彈框,但是彈框內無內容,則可能是此路徑未引入正確,此時則需要再配置一下)
配置前:
tinymce.PluginManager.add('axupimgs',function(editor,url) {
	var pluginName='多圖上傳';
	window.axupimgs={}; //扔外部公共變數,也可以扔一個自定義的位置

	var baseURL=tinymce.baseURL;
	var iframe1 = baseURL+'/plugins/axupimgs/upfiles.html';

配置後:
+ import api from '@/api/api.js'
tinymce.PluginManager.add('axupimgs',url) {
	var pluginName='多圖上傳';
	window.axupimgs={}; //扔外部公共變數,也可以扔一個自定義的位置

+	var baseURL=api.editorUrl;
+	var iframe1 = baseURL+'tinymce/axupimgs/upfiles.html';
注:每個人的專案不同,則路徑配置也不同,根據自己專案配置即可。

5、在components/TEditor.vue裡引入多圖上傳外掛,並在plugins和toolbar裡註冊該外掛(見圖)
import '../../public/tinymce/axupimgs'  //多圖上傳

6、重新整理或重啟專案即可

注:此多圖上傳功能是基於單圖上傳功能的,多圖上傳就是多次呼叫單圖上傳的介面函式(見最上方 images_upload_handler)。
所以必須先完成單圖上傳功能才行,單圖上傳在最上面程式碼裡已經實現了,這裡不做贅述。

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

新增檔案上傳以及媒體上傳功能(上傳功能包括圖片上傳,檔案上傳以及媒體上傳三類。其中圖片上傳使用圖片上傳函式,檔案和媒體上傳均使用檔案上傳函式)

參考文件: http://tinymce.ax-z.cn/general/upload-images.php

1、在plugins和toolbar裡註冊link外掛以及media外掛(見圖)

2、在init裡新增以下程式碼(以下程式碼對於link外掛和media外掛是通用的,配置好後這兩個外掛就都可以使用了)(見圖)
file_picker_types: 'file image media',//分別對應三個型別檔案的上傳:link外掛,image和axupimgs外掛,media外掛。想遮蔽某個外掛的上傳就去掉對應的引數
file_picker_callback: (callback,value,meta)=>{
      let filetype='.pdf,.txt,.zip,.rar,.7z,.doc,.docx,.xls,.xlsx,.ppt,.pptx,.mp3,.mp4,.jpg';  //限制檔案的上傳型別
      let inputElem = document.createElement('input');  //建立檔案選擇
      inputElem.setAttribute('type','file');
      inputElem.setAttribute('accept',filetype);
      inputElem.click();
      inputElem.onchange=()=>{
            let upurl=''
            let file=inputElem.files[0]  //獲取檔案資訊
            if(file.type.slice(0,5)=='video'){  //判斷檔案型別
                  upurl=`${api.baseUrl}/api-upload/uploadTxVideo`
            }else{
     程式設計客棧             upurl=`${api.baseUrl}/api-upload/upload`
            }
 http://www.cppcns.com           if(file.type.slice(0,5)=='image'&&file.size/1024/1024>2){
                  alert("上傳失敗,圖片大小請控制在2M以內")
            }else if(file.type.slice(0,5)=='video'&&file.size/1024/1024>500){
                  alert("上傳失敗,視訊大小請控制在 500M 以內")
            }else if(file.size/1024/1024>10){
                  alert("上傳失敗,檔案大小請控制在 10M 以內")
            }else{
                  let params=new FormData()
                  params.append('file',file)
                  let config={
                        headers:{
                              "Content-Type":"multipart/form-data"
                        }
                  }
                  this.$axios.post(upurl,config).then(res=>{
                        if(res.data.code==200){
                              callback(res.data.data)  //上傳成功,在回撥函式裡填入檔案路徑
                        }else{
                              alert("上傳失敗")
                        }
                  }).catch(()=>{
                        alert("上傳出錯,伺服器開小差了呢")
                  })
            }
      }
}

3、具體效果見圖

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

整合公式編輯功能

假如你的專案需要公式編輯功能

1、MathJax外掛+LaTeX語法
說到公式編輯功能,首先想到的是引入MathJax外掛,使用LaTeX語法。這樣做出來的有幾個缺點,
一個是使用者是不會LaTeX語法的,另一個是在vue的v-html裡,LateX語法渲染的富文字是不生效的,
因為latex的語法裡的斜槓\在v-html裡會被轉義,導致無法識別。所以考慮了一下還是放棄了這個實現方式,
當然,如果你的專案使用mathjax沒有影響,則可以使用其方式,實現方式這裡不做贅述,請參考以下文件
實現步驟:  https://www.cnblogs.com/already/p/12876452.html
mathjax使用文件1: https://www.cnblogs.com/mqingqing123/p/12711372.html
mathjax使用文件2:  https://www.cnblogs.com/mqingqing123/p/12026817.html
LaTeX語法:  https://www.jianshu.com/p/27b163b1c6ef

2、使用百度編輯器的kityformula
之前一直使用百度編輯器,對百度編輯器的公式編輯外掛kityformula還是比較讚的。
但是kityformula是依附於百度編輯器的,不能單獨拎出來整合到tinymce裡(如果有大神有辦法單獨整合還請告知)
所以考慮在專案中引入百度編輯器,並只使用其公式編輯功能,然後將百度編輯器整個整合到tinymce裡。

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

實現步驟

1、前往此地址下載ueditor包: https://files.cnblogs.com/files/huihuihero/UEditor.zip

2、將解壓後的包複製到public資料夾下,與tinymce資料夾同級

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

3、建立公式編輯的外掛

參考文件:http://tinymce.ax-z.cn/advanced/creating-a-plugin.php

1、在public/tinymce資料夾下新建formulas資料夾

2、在formulas資料夾下新建index.js,寫入以下程式碼
// Exports the "formulas" plugin for usage with module loaders
// Usage:
//   CommonJS:
//     require('tinymce/plugins/formulas')
//   ES2015:
//     import 'tinymce/plugins/formulas'
require('./plugin.js');

3、在formulas資料夾下新建plugin.js和plugin.min.js,寫入以下程式碼,兩個檔案程式碼一樣即可
import api from '@/api/api.js'
tinymce.PluginManager.add('formulas',url) {
      var pluginName='公式';
    //配置檔案引入路徑,根據自己專案來,我這裡引入的api.editorUrl=http://192.168.1.171/apib
    //需要說明的是iframe1所代表的頁面地址線上下跑的時候需能夠訪問,否則訪問不了會預設展示至專案首頁
      var iframe1 = api.editorUrl+'tinymce/formulas/formulas.html';
      var openDialog = function () {
            return editor.windowManager.openUrl({
                  title: pluginName,size: 'large',url:iframe1,buttons: [
                        {
                              type: 'cancel',text: 'Close'
                        },// {
                        // 	type: 'custom',// 	text: 'Save',// 	name: 'save',// 	primary: true
                        // },],});
      };
    
      // 註冊一個工具欄按鈕名稱
      editor.ui.registry.addButton('formulas',{
            text: pluginName,onAction: function () {
                  openDialog();
            }
      });
  
      // 註冊一個選單項名稱 menu/menubar
      editor.ui.registry.addMenuItem('formulas',onAction: function() {
                  openDialog();
            }
      });
  
      return {
            getMetadata: function () {
                  return  {
                        //外掛名和連結會顯示在“幫助”→“外掛”→“已安裝的外掛”中
                        name: "Example plugin",//外掛名稱
                      www.cppcns.com  url: "http://exampleplugindocsurl.com",//作者網址
                  };
            }
      };
});
  
4、在formulas資料夾下新建formulas.html,並寫入以下程式碼
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>formulas</title>
<meta name="viewport" content="user-scalable=no,width=device-width,initial-scale=1.0,maximum-scale=1.0"/>
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<meta name="format-detection" content="telephone=no">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<style>
    html,body{margin:0;padding:0;background:#fff;}
    #wrap{
        width: 80%;
        margin-left: 10%;
    }
    #editor{
        width: 100%;
        height: 300px;
        margin-top: 40px;
    }
    .remind-a{
        font-size: 14px;
        color: #6f6f6f;
        margin-top: 60px;
    }
    .remind-a span{
        font-size: 16px;
        font-weight: 700;
        color: #333;
    }
    .remind-b{
        font-size: 14px;
        color: #6f6f6f;
        margin-top: 10px;
    }
</style>

</head>
<body>
<div id="wrap">
    <div id="editor"></div>
    <div class="remind-a">點選左上角 <span>∑</span> 符號即可編輯公式</div>
    <div class="remind-b">編輯完成後 Ctrl+C 複製,之後在編輯器裡 Ctrl+V 貼上即可</div>
</div>
</body>

<script type="text/javascript" src="../../UEditor/ueditor.config.js"></script>
<script type="text/javascript" src="../../UEditor/ueditor.all.js"></script>
<script type="text/javascript" src="../../UEditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript" charset="utf-8" src="../../UEditor/kityformula-plugin/addKityFormulaDialog.js"></script>
<script type="text/javascript" charset="utf-8" src="../../UEditor/kityformula-plugin/getKfContent.js"></script>
<script type="text/javascript" charset="utf-8" src="../../UEditor/kityformula-plugin/defaultFilterFix.js"></script>
<script id="editor" type="text/plain" name="gdesc" style="width:100%;height:350px;"></script>
<script type="text/javascript">
    //例項化編輯器
    var ue = UE.getEditor('editor',{toolbars: ["kityformula"]});
</script>
</html>

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

4、引入自制的公式編輯外掛formulas

在src/components/TEditor.vue裡的引入公式編輯外掛,並在plugins和toolbar裡註冊該外掛
import '../../public/tinymce/formulas'  //公式編輯

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

5、重啟專案,公式編輯功能開發完成

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

最近新建一個專案,在@tinymce/tinymce-vue版本為4.0.0+的時候,會出現以下報錯。因此出現報錯的同學,建議使用4.0.0之前的版本號,如下(成功解決報錯)

如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能
如何在vue3.0+中使用tinymce及實現多圖上傳檔案上傳公式編輯功能

以上就是在vue3.0+中使用tinymce及實現多圖上傳,檔案上傳,公式編輯等功能的詳細內容,更多關於vue實現多圖上傳檔案上傳公式編輯的資料請關注我們其它相關文章!