我正在使用FineUploaderBasic在应用程序中构建一些上传功能。除了尝试取消文件(在onupload回调期间满足条件时)之外,一切都很好。我收到这个错误:
TypeError:fileState [id]未定义 ... var fileOrBlob = fileState [id] .file || fileState [ID] .blobData.blob,
onupload回调参数id为0,名称是文件的正确名称。有意义的是,此时没有很多fileState信息,因为onupload进程在上传之前运行 - 所以为什么重置或取消*仍然可以实现这一点......
我应该如何取消文件(或文件),或者如何随意重置上传器。
N.B。我还应该补充一点,这个错误并不是致命的 - 实际上功能甚至看起来还不错 - 但是日志中的错误并不是很好。
代码摘录:
function UploadButton(element, opts)
{
this.fineUploaderInst = null;
this.opts = opts;
this.element = element;
var container = this;
var originalBorder = null;
var uploader = null;
this.element.addClass("qq-upload-button");
this.applyFineUploader = function() {
this.uploader = new qq.FineUploaderBasic({
button: this.element[0],
request: {
endpoint: "/files/fine-uploader"
},
validation: {
allowedExtensions : this.opts.extensions
},
multiple: false,
callbacks: {
onSubmit: function() {
container.element.find("span.ui-icon")
.removeClass("ui-icon-arrowthick-1-n")
.addClass("file-uploading");
},
onUpload: (opts.onUpload)
? function(id, name) {
if(! container.opts.onUpload(id, name)) {
container.uploader.reset();
}
container.element.find("span.ui-icon")
.addClass("ui-icon-arrowthick-1-n")
.removeClass("file-uploading");
}
: function(id, name) {},
//... more stuff ...
对于上面摘录的不整洁感到抱歉。变量元素作为jQuery选择器结果进入, opts 只是一个简单的选项字典。我希望它有所帮助。
我正在使用FineUploader 3.4.1。
谢谢大家。
答案 0 :(得分:0)
正如我在上次评论中所提到的,请使用onValidate
或onValidateBatch
回调来执行其他验证。您可以在这些回调中返回false,以指示Fine Uploader忽略文件(onValidate
)或批处理中的所有文件(onValidateBatch
)。有关这些和其他回调的详细信息,请参阅callbacks documentation。