我正在尝试实现上传文件和文件夹的能力。我在 chrome 中删除了一些文件和文件夹,然后我得到了 dataTransferItemList 类型的条目列表,然后我想对列表中的每个条目执行一些操作。我得到一个带有 webkitGetAsEntry 函数的条目,当我尝试调用 FileEntry 对象的文件函数时,dataTransferItemList 变为空。
_processEntries: function () {
//this._entries list of entries of type dataTransferItemList
var entry = this._getNetxFileEntry(this._entries);
if (!isNullOrUndefined(entry)) {
if (entry.webkitGetAsEntry) {
entry = entry.webkitGetAsEntry();
} else {
//TODO: code for other browsers without getAsEntry implementation
}
if (entry.isFile) {
this._readAsFileEntry(entry);
}
else if (entry.isDirectory) {
this._readAsDirectoryEntry(entry);
}
}
},
_readAsFileEntry: function (fileEntry) {
fileEntry.file($.proxy(this._onFileSuccessfullyRead, this));
},
_onFileSuccessfullyRead: function (file) {
//Here this._entries becomes empty so i can't read next entry
},
为什么会发生,在这种情况下我如何处理所有实体?感谢帮助。