我使用DropzoneJs来上传文件,一切正常,但如果我想从剪贴板添加文件到drop zone我必须使用FileReader。是我用户FileReader的时候。猜我得到以下错误"无法读取属性' previewTemplate'未定义"
我的dropzone代码
Dropzone.options.dropzoneForm = {
maxFiles: 9999,
url: "ajax/uploader.aspx",
init: function () {
this.on("maxfilesexceeded", function (data) {
var res = eval('(' + data.xhr.responseText + ')');
});
this.on("addedfile", function (file) {
var removeButton = Dropzone.createElement("<button>Remove file</button>");
var _this = this;
removeButton.addEventListener("click", function (e) {
e.preventDefault();
e.stopPropagation();
_this.removeFile(file);
});
file.previewElement.appendChild(removeButton);
});
this.on("complete", function (file) {
if (file.name.indexOf(".jpg") > -1) {
uploadDoneimg("img", file);
} else if (file.name.indexOf(".png") > -1) {
else
{
ShowMessage('e', "Error p2i Convert !");
}
}
});
}
});
this.on("drop", function (file) {
// alert("drop : " + file.name);
});
}
};
FileReaderJS.setupClipboard(document.body, {
accept: {
'image/*': 'DataURL'
},
on: {
load: function (e, cfile) {
$(Dropzone).addfile(cfile);
}
}
});
此组合发生在以下链接
答案 0 :(得分:0)
问题在于Drop Zone的定义。当您想要从剪贴板添加文件并将文件传递到放置区时,您必须初始化DropZone。是动态的,然后每件事都会正常工作
哦,别忘了设置auto discover false :)
Dropzone.autoDiscover = false;
var myDropZone = new Dropzone("div#dropzoneForm", {url:''});
FileReaderJS.setupClipboard(document.body, {
accept: {
'image/*': 'DataURL'
},
on: {
load: function (e, cfile) {
$(Dropzone).addfile(cfile);
}
}
});