3

按照本教程,我在我的 Rails 应用程序中使用 Dropzone.js 实现了拖放图像上传:https ://web-crunch.com/posts/rails-drag-drop-active-storage-stimulus-dropzone

现在我还想在上传图像之前将它们调整为最大宽度。Dropzone.js 有一个transformFile为此目的的功能,但我还没有设法使它工作。我尝试了以下方法。

当我创建 dropzone 元素时,我声明了一个最大宽度 ( resizeWidth):

function createDropZone(controller) {
  return new Dropzone(controller.element, {
    url: controller.url,
    headers: controller.headers,
    maxFiles: controller.maxFiles,
    maxFilesize: controller.maxFileSize,
    acceptedFiles: controller.acceptedFiles,
    addRemoveLinks: controller.addRemoveLinks,
    resizeWidth: 200,
    autoQueue: false
  });
}

transformFile然后,我在addedfile事件侦听器中调用该函数:

this.dropZone.on("addedfile", file => {
      this.dropZone.options.transformFile(file);
      
      setTimeout(() => {
        file.accepted && createDirectUploadController(this, file).start();
      }, 500);
    });

但是,控制台上的响应是Uncaught TypeError: Cannot read property 'resizeWidth' of undefined

有人可以帮助我吗?

4

0 回答 0