按照本教程,我在我的 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
有人可以帮助我吗?