React Draft Wysiwyg:单击“添加”按钮时上传图像

Dim*_*las 3 javascript ecmascript-6 reactjs

在 React.js 应用程序上,我尝试使用https://jpuri.github.io/react-draft-wysiwyg/#/docs编辑器上传图像并将其嵌入到编辑器的内容中。

到目前为止,我设法用这段代码做到了这一点:

import React, { Component } from 'react';
import { Editor } from 'react-draft-wysiwyg';
import {convertFromRaw, convertToRaw, EditorState} from 'draft-js';    
import "../../node_modules/react-draft-wysiwyg/dist/react-draft-wysiwyg.css"
import "../../node_modules/draft-js-image-plugin/lib/plugin.css"



export default class CustomEditor extends Component {

  uploadCallback(file) {

    return new Promise(
      (resolve, reject) => {
        var reader=new FileReader();

        reader.onloadend = function() {
          Meteor.call('fileStorage.uploadFile',reader.result,file.name,file.type,(err,response)=>{
              console.log(response)
             if(err){
               reject(err)
             }

             resolve({ data: { link: response.data.url } });
          })
        }

        reader.readAsDataURL(file);
      }
    );
  }

  render() {

    const config={
      image: { uploadCallback: this.uploadCallback }
    }

    return (
      <div className="container-fluid">
        <Editor toolbar={ config } />
      </div>
    )
  }
}
Run Code Online (Sandbox Code Playgroud)

但我的问题是,当我选择文件时,图像上传过程就会启动,当我单击“添加”按钮时,我想启动上传过程,如下图所示:

添加图像的按钮

那么我怎样才能做到这一点呢?

Tie*_*eme 6

无法改变这种行为。

您可以提供的唯一选择是uploadCallback查看文档。

你可以在这里找到上传代码的来源,很清楚,这是不可能的。