WangEditor自定义上传插入图片

import '@wangeditor/editor/dist/css/style.css'

import { Editor, Toolbar } from '@wangeditor/editor-for-vue'
// 富文本实例对象
const editorRef = shallowRef()
// 菜单配置
const toolbarConfig: Partial<IToolbarConfig> = {}
// 编辑器配置
const editorConfig = ref({
  placeholder: '请输入内容...',
  readOnly: false,

  MENU_CONF: {
    uploadImage: {
      fieldName: 'multipartFile',
      allowedFileTypes: [],
      headers: {
        Token: token
      },
      customUpload(file: any, insertFn: any) {
        const loading = ElLoading.service({
          lock: true,
          text: 'Loading',
          background: 'rgba(0, 0, 0, 0.7)',
        })
        ApiService.file
          .getAuthorizationLink(file.name, file.type)
          .then(response => {
            const { content } = response.data
            const reader = new FileReader()
            reader.onload = event => {
              const textContent = event.target.result
              ApiService.file
                .upload(textContent, content.authorizationLink, file.type)
                .then(res_ => {
                  fileUrl.value = content.fileUrl
                  editorRef.value.dangerouslyInsertHtml(`<p><img src="${fileUrl.value}"></p>`)
                  loading.close()
                })
            }
            reader.readAsArrayBuffer(file)
          })
      },
      onError(file: any, err: any, res: any) {
        ElMessage({
          message: `${file.name} 上传出错`,
          type: 'warning',
        })
      },
    }
  },
})
const onCreated = (editor: any) => {
  editorRef.value = editor;
  nextTick(() => {
    editorRef.value = editor
  })
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值