如何解决Dropzone js 成功和错误选项不起作用
我在我的 ember 应用程序中使用 Dropzone.js。我已经实现了文件上传功能。
每当我上传文件时,文件都会在后端和网络选项卡中上传,我看到 200 OK,但即使我提到了 Dropzone.autoDiscover = false;
,也永远不会调用成功选项。
请找到以下代码供您参考,
import Ember from 'ember';
import config from '../config/environment';
export default Ember.Component.extend({
images: [],targetClass: 'file-upload-drop',templateClass: 'file-upload-template',url: config.uploadUrl,dropzone: undefined,onFileUploaded(file) {},onRemovedFile(file) {},onFileError(file,error) {},_createFileModel(file,data) {
return Ember.Object.extend({
file: file
},data).create();
},didInsertElement() {
const url = this.get('url'),target = this.$(`.${this.get('targetClass')}`).get(0),self = this,get = Ember.get;
this.set('register-as',this);
var dz = new Dropzone(target,{
url: url,addRemoveLinks: true,init() {
var icons = self.get('images') || [];
icons.forEach((icon) => {
var file = {
id: get(icon,'id'),name: get(icon,size: get(icon,'size'),status: Dropzone.ADDED,type: get(icon,'mimeType')
};
this.options.addedfile.call(this,file);
this.createThumbnailFromUrl(file,`/api/v1/images/view/${file.name}`);
this.emit("success". file);
this.emit("complete",file);
this.files.push(file);
});
}
});
dz.on('success',(file,response) => {
console.log('success');
file.id = response.id;
this.get('onFileUploaded')(this._createFileModel(file,response));
});
dz.on('error',errorMessage,xhr) => {
errorMessage = errorMessage || {};
if (errorMessage.message) {
//Ember.$('.dz-error-message span',file.previewElement).text(errorMessage.message);
dz.removeFile(file);
this.get('onFileError')(file,errorMessage.message);
}
});
dz.on('removedfile',(file) => {
console.log('removedFile');
//TODO handle when user removes a file from the list
this.get('onRemovedFile')(file);
});
this.set('dropzone',dz);
}
});
请找到上面的图片供您参考。始终显示进度条,并且不会调用成功方法。 Jquery 兼容性有问题吗?我正在使用 jQuery:3.4.1。任何帮助都会非常可观。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。