作者热门文章
- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在制作一个用于照片库上传的拖放式文件上传系统。这是我处理丢失文件的源代码。如果我一个一个地放下它们,它可以工作多个文件,但是当我同时放下多个文件时,会发生此错误:
未捕获的 InvalidStateError:无法在“FileReader”上执行“readAsDataURL”:对象已忙于读取 Blob。
function handleFiles(files)
{
var reader = new FileReader();
var formdata = new FormData();
$.each(files, function(i, j)
{
$("td.photos span.status").html("Processing file: "+j.name);
formdata.append('file', j);
$.ajax({
url: "uploadalbum.php",
type: "POST",
dataType: "json",
data: formdata,
processData: false,
contentType: false,
success: uploadfinished
});
reader.onload = handleReaderLoad;
reader.readAsDataURL(j);
});
}
有什么想法吗?
最佳答案
我想错误已经给你了。
Failed to execute 'readAsDataURL' on 'FileReader': The object is already busy reading Blobs
所以文件读取器已经很忙了,但只有当你删除多个文件时才会这样?那么它可能正忙于第一个文件(第二个崩溃)。
当你把 var reader = new FileReader();
放在你的 jQuery 中时,每个循环都会像下面这样工作:
$.each(files, function(i, j)
{
var reader = new FileReader();
$("td.photos span.status").html("Processing file: "+j.name);
formdata.append('file', j);
.... <snip>
}
关于javascript - 文件读取器错误 : The object is already busy reading Blobs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24843508/
我是一名优秀的程序员,十分优秀!