使用JavaScript中的新File API,您可以读取Javascript中的文件以创建dataURL以向客户端显示客户端图片。我想知道是否可以在FileReader的onload回调中访问File对象。 我将说明用一个例子:HTML5文件API:在FileReader中获取File对象回调
var div = document.createElement('div');
div.ondrop = function(e) {
e.preventDefault();
e.stopPropagation();
var files = e.dataTransfer.files;
for (var i=0; i
var file = files[i]; // this is the file I want!!
var filereader = new FileReader();
filereader.onload = function(e) {
this; // the FileReader object
e.target; // the same FileReader object
this.result; // the dataURL, something like data:image/jpeg;base64,.....
var img = document.createElement('img');
img.src = this.result;
img.title = file.fileName; // This won't be working
document.appendChild(img);
}
}
return false;
}
我能做的 - 什么我现在做的 - 是包裹的内容for循环的功能,并执行它来创建一个新的范围并保持文件在这样的范围内如此:
for (var i=0; i
var _file = files[i]; // this is the file I want!!
(function(file) {
// do FileReader stuff here
})(_file);
}
我只是想知道...也许我失去了一些东西。有没有办法从FileReader的onload函数中获取File对象? this和e.target都是FileReader对象而不是文件。 this或e是否有文件?我无法找到它:(
多谢
2010-12-09
Rudie