如何使用 Jodit 编辑器正确插入上传的图像?

SRe*_*eca 3 upload file function insert jodit

我目前在尝试在上传图像后插入图像时遇到问题。我已按照https://xdsoft.net/jodit/上的文档进行操作,但仍然遇到问题。

这是我的配置对象:

{
  readonly: false,
  enableDragAndDropFileToEditor: true,
  uploader: {
    url: this.url_upload,
    data: {
      dir: this.dir
    },
    baseurl: relativePathURL,
    process: (response) => {
      let files = [];
      response.list.map((file) => {
        files.push(file.name);
      });
      return { 
        files,
        path: relativePathURL,
        baseurl: '/content/assets',
        error: (response.success ? 0 : 1),
        msg: response.message
      };
    },
    defaultHandlerSuccess: (response) => {      
      if (response.files && response.files.length) {
        for (let i = 0; i < response.files.length; i++) {
          let full_file_path = response.path + response.files[i];
          this.selection.insertImage(full_file_path);
        }
      }
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

我理解返回对象是传递到文件插入位置的process响应。defaultHandlerSuccess但是,我o is undefined每次都会收到此错误。

在此输入图像描述

我正在寻找有关如何正确插入图像的一些见解。我做错了什么?

SRe*_*eca 5

我最终做了一些进一步的测试来诊断问题。

我将原来的重命名node_modules/jodit/build/jodit.min.jsnode_modules/jodit/build/_jodit.min.js、 和node_modules/jodit/build/jodit.jsnode_modules/jodit/build/jodit.min.js这样我才能真正理解这个问题。

执行此操作后,错误出现在insertImage函数第 671 行未定义defaultWidth中。 https://github.com/xdan/jodit/blob/master/src/modules/Selection.ts#L655

因此,更改只是在调用函数时提供其他两个参数,insertImage如下所示:

this.selection.insertImage(full_file_path, null, 250);

在提供的示例(https://xdsoft.net/jodit/v.2/doc/tutorial-uploader-settings.html)中,没有提及所需的参数。

希望这可以帮助其他遇到同样问题的人。