Dropzone.js v5 未显示来自服务器的文件:无法读取未定义的 属性 'filename'
Dropzone.js v5 not showing files from server: Cannot read property 'filename' of undefined
我正在使用 repo wiki 中的最新 Dropzone.js v5.1. I need to show files that are already stored in my server so I followed the official tutorial 构建单个图像上传表单。我的代码如下所示:
Dropzone.options.mainMediaForm = {
paramName: "file",
maxFilesize: 2,
maxFiles: 1,
thumbnailHeight: null,
thumbnailWidth: null,
acceptedFiles: 'image/*',
init: function() {
this.on("addedfile", function(file) {
if (this.files.length > 1) {
this.removeFile(this.files[0]);
}
});
this.on("thumbnail", function(file) {
if (file.width != imageWidth || file.height != imageHeight) {
file.rejectDimensions()
}
else {
file.acceptDimensions();
}
});
// Start of tutorial code //
var mockFile = { name: "Filename", size: 12345 };
this.emit("addedfile", mockFile);
this.emit("thumbnail", mockFile, "url/image.jpg");
this.emit("complete", mockFile);
// End of tutorial code //
},
accept: function(file, done) {
file.acceptDimensions = done;
file.rejectDimensions = function() { done("Invalid dimension."); };
}
};
除应用的教程代码外,一切正常,它记录了一个错误:
Uncaught TypeError: Cannot read property 'filename' of undefined
at Dropzone.addedfile (dropzone.js:296)
at Dropzone.Emitter.emit (dropzone.js:58)
at Dropzone.init (edit:516)
at Dropzone.init (dropzone.js:721)
at new Dropzone (dropzone.js:506)
at Function.Dropzone.discover (dropzone.js:1596)
at Dropzone._autoDiscoverFunction (dropzone.js:2046)
at HTMLDocument.init (dropzone.js:2015)
这里是HTML,相当标准:
<!-- Main media form -->
<form id="main-media-form" action="action/url" class="dropzone">
<div class="fallback">
<input name="file" type="file"/>
</div>
</form>
我已经尝试过在 SO 中找到的其他一些答案,但是 none 其中的答案有效,但总是出现相同的错误。在这一点上,我不知道是我做错了什么还是教程已经过时了。
感谢任何帮助。
我遇到了同样的问题,我使用以前版本的 dropzone 解决了它,这是 v 5 的问题
有同样的问题。
现已在版本 5.1.1!
中修复
我正在使用 repo wiki 中的最新 Dropzone.js v5.1. I need to show files that are already stored in my server so I followed the official tutorial 构建单个图像上传表单。我的代码如下所示:
Dropzone.options.mainMediaForm = {
paramName: "file",
maxFilesize: 2,
maxFiles: 1,
thumbnailHeight: null,
thumbnailWidth: null,
acceptedFiles: 'image/*',
init: function() {
this.on("addedfile", function(file) {
if (this.files.length > 1) {
this.removeFile(this.files[0]);
}
});
this.on("thumbnail", function(file) {
if (file.width != imageWidth || file.height != imageHeight) {
file.rejectDimensions()
}
else {
file.acceptDimensions();
}
});
// Start of tutorial code //
var mockFile = { name: "Filename", size: 12345 };
this.emit("addedfile", mockFile);
this.emit("thumbnail", mockFile, "url/image.jpg");
this.emit("complete", mockFile);
// End of tutorial code //
},
accept: function(file, done) {
file.acceptDimensions = done;
file.rejectDimensions = function() { done("Invalid dimension."); };
}
};
除应用的教程代码外,一切正常,它记录了一个错误:
Uncaught TypeError: Cannot read property 'filename' of undefined
at Dropzone.addedfile (dropzone.js:296)
at Dropzone.Emitter.emit (dropzone.js:58)
at Dropzone.init (edit:516)
at Dropzone.init (dropzone.js:721)
at new Dropzone (dropzone.js:506)
at Function.Dropzone.discover (dropzone.js:1596)
at Dropzone._autoDiscoverFunction (dropzone.js:2046)
at HTMLDocument.init (dropzone.js:2015)
这里是HTML,相当标准:
<!-- Main media form -->
<form id="main-media-form" action="action/url" class="dropzone">
<div class="fallback">
<input name="file" type="file"/>
</div>
</form>
我已经尝试过在 SO 中找到的其他一些答案,但是 none 其中的答案有效,但总是出现相同的错误。在这一点上,我不知道是我做错了什么还是教程已经过时了。
感谢任何帮助。
我遇到了同样的问题,我使用以前版本的 dropzone 解决了它,这是 v 5 的问题
有同样的问题。 现已在版本 5.1.1!
中修复