tinymce富文本

tinymce富文本粘貼上傳圖片

initTinymce() {
  const _this = this
  window.tinymce.init({
    xxx..
    paste_data_images: false, // 粘貼圖片
    xxx...
    init_instance_callback: editor => {
      xxx...
      editor.on('paste', (evt) => {
        // 監(jiān)聽粘貼事件
        this.onPaste(evt)
      })
    },
    xxx...
  })
},



onPaste(event) {
    // 實現圖片粘貼上傳
    const items = (event.clipboardData || window.clipboardData).items
   
    // 搜索剪切板items 只取第一張
    if (items[0].type.indexOf('image') !== -1) {
      console.log('粘貼的是圖片類型')
      const file = items[0].getAsFile()
      const formData = new FormData()
      formData.append('file', file)
      // 上傳圖片
      UpLoadImg(formData).then(res => {
        console.log(res)
        if (res.code === 200) {
          // 放到內容當中 (圖片正常上傳沒問題)
          window.tinymce.get(this.tinymceId).insertContent(`<img class="wscnph" src="${res.data.image}" >`)
        } else {
          this.$message.error('圖片上傳失敗,聯系開發(fā)人員')
        }
      })
    } else {
      console.log('粘貼的不是圖片旱爆,不能上傳')
    }
}

比較完整的例子,粘貼和工具欄上傳圖片自赔,都會走images_upload_handler

<script lang="jsx">
  import { onMounted } from 'vue';
  import {commonService} from '@/request'

  export default {
    setup() {
      let tinymceInstance
      onMounted(() => {
        tinymce.init({
          selector: '#mytextarea',
          language: 'zh_CN',
          branding: false,
          resize: false,//禁止改變大小
          statusbar: false,//隱藏底部狀態(tài)欄
          // width: 600,
          // height: 300,
          plugins: [
            'advlist', 'autolink', 'link', 'image', 'lists', 'charmap', 'preview', 'anchor', 'pagebreak',
            'searchreplace', 'wordcount', 'visualblocks', 'code', 'fullscreen', 'insertdatetime', 'media',
            'table', 'emoticons', 'template', 'help'
          ],
          toolbar: 'undo redo | styles | bold italic link forecolor backcolor emoticons | alignleft aligncenter alignright alignjustify | ' +
            'bullist numlist outdent indent | image media print preview fullscreen',
          menubar: 'favs file edit view insert format tools table help',
          content_style: 'body { font-family:Helvetica,Arial,sans-serif; font-size:16px }',
          init_instance_callback: editor => {
            tinymceInstance = editor
            editor.setContent(`22`)
          },
          paste_data_images: true, // 允許粘貼圖片
          // init_instance_callback: editor => {
          //   editor.on('paste', (event) => {
          //     debugger
          //     // 監(jiān)聽粘貼事件
          //     // 實現圖片粘貼上傳
          //     const items = (event.clipboardData || window.clipboardData).items
          //     // 搜索剪切板items 只取第一張
          //     if (items[0].type.indexOf('image') !== -1) {
          //       console.log('粘貼的是圖片類型')
          //       const file = items[0].getAsFile()
          //       commonService.upload({file, bizType: 'Approval'}).then(data => {
          //         editor.insertContent(`<img src="${commonService.getFileUrl(data.readPath)}" />`)
          //       })
          //     } else {
          //       console.log('粘貼的不是圖片,不能上傳')
          //     }
          //   })
          // },
          images_upload_handler: async function (blobInfo, success, failure, progress) {
            debugger
            const file = blobInfo.blob()
            const data = await commonService.upload({file, bizType: 'Approval'})
            return commonService.getFileUrl(data.readPath)
          },
        })
      })


      function getContent() {
        console.log('tinymceInstance.getContent()', tinymceInstance.getContent())
      }
      return () => <>
      <textarea id="mytextarea" style={{ height: '80%' }}>
      </textarea>
      <ElButton onClick={getContent}>獲取內容</ElButton>
      </>
    }
  }
</script>
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末柳琢,一起剝皮案震驚了整個濱河市绍妨,隨后出現的幾起案子,更是在濱河造成了極大的恐慌柬脸,老刑警劉巖他去,帶你破解...
    沈念sama閱讀 219,188評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異倒堕,居然都是意外死亡灾测,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 93,464評論 3 395
  • 文/潘曉璐 我一進店門垦巴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來行施,“玉大人,你說我怎么就攤上這事魂那《旰牛” “怎么了?”我有些...
    開封第一講書人閱讀 165,562評論 0 356
  • 文/不壞的土叔 我叫張陵涯雅,是天一觀的道長鲜结。 經常有香客問我,道長活逆,這世上最難降的妖魔是什么精刷? 我笑而不...
    開封第一講書人閱讀 58,893評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮蔗候,結果婚禮上怒允,老公的妹妹穿的比我還像新娘。我一直安慰自己锈遥,他們只是感情好纫事,可當我...
    茶點故事閱讀 67,917評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著所灸,像睡著了一般丽惶。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上爬立,一...
    開封第一講書人閱讀 51,708評論 1 305
  • 那天钾唬,我揣著相機與錄音,去河邊找鬼。 笑死抡秆,一個胖子當著我的面吹牛奕巍,可吹牛的內容都是我干的。 我是一名探鬼主播儒士,決...
    沈念sama閱讀 40,430評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼伍绳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乍桂?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 39,342評論 0 276
  • 序言:老撾萬榮一對情侶失蹤效床,失蹤者是張志新(化名)和其女友劉穎睹酌,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體剩檀,經...
    沈念sama閱讀 45,801評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡憋沿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,976評論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了沪猴。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辐啄。...
    茶點故事閱讀 40,115評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖运嗜,靈堂內的尸體忽然破棺而出壶辜,到底是詐尸還是另有隱情,我是刑警寧澤担租,帶...
    沈念sama閱讀 35,804評論 5 346
  • 正文 年R本政府宣布砸民,位于F島的核電站,受9級特大地震影響奋救,放射性物質發(fā)生泄漏岭参。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,458評論 3 331
  • 文/蒙蒙 一尝艘、第九天 我趴在偏房一處隱蔽的房頂上張望演侯。 院中可真熱鬧,春花似錦背亥、人聲如沸秒际。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,008評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽程癌。三九已至,卻和暖如春轴猎,著一層夾襖步出監(jiān)牢的瞬間嵌莉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,135評論 1 272
  • 我被黑心中介騙來泰國打工捻脖, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留锐峭,地道東北人中鼠。 一個月前我還...
    沈念sama閱讀 48,365評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像沿癞,于是被迫代替她去往敵國和親援雇。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,055評論 2 355

推薦閱讀更多精彩內容