javascript,html5:e.dataTransfer.items vs e.dataTransfer.files,如何使用前者获得文件大小?
在删除文件并访问这些文件的信息时,使用javascript,html5:e.dataTransfer.items vs e.dataTransfer.files,如何使用前者获得文件大小?,javascript,html,drag-and-drop,Javascript,Html,Drag And Drop,在删除文件并访问这些文件的信息时,使用 let files= e.dataTransfer.files; 您可以检查文件大小()。但是如果你用的是更新的(据我所知是替代品) 那么就无法访问文件大小() 哪种方法才是知道被删除文件大小的正确方法 答:通过使用.getAsFile()访问文件 但是,在读取目录时如何做到这一点?参见代码 let items = e.dataTransfer.items; for (let i=0; i < items.length; i++) { le
let files= e.dataTransfer.files;
您可以检查文件大小()。但是如果你用的是更新的(据我所知是替代品)
那么就无法访问文件大小()
哪种方法才是知道被删除文件大小的正确方法
答:通过使用.getAsFile()访问文件
但是,在读取目录时如何做到这一点?参见代码
let items = e.dataTransfer.items;
for (let i=0; i < items.length; i++) {
let item = items[i].webkitGetAsEntry();
if (item && item.isFile)
console.log(items[i].getAsFile()); // HERE IT WORKS
else if (item && item.isDirectory) {
item.createReader().readEntries(function(entries) {
for (let j=0; j<entries.length; j++)
see_file(entries[j].getAsFile()); // HERE IT DOES NOT WORK
});
}
}
let items=e.dataTransfer.items;
for(设i=0;i 对于(假设j=0;j,根据评论中提供的答案,我们得出以下结论:
如果删除的项目是目录,则该行
item.createReader().readEntries(function(entries) {
生成本身作为item.webkitGetAsEntry()
实例的条目数组
无法访问“父级”,类似于
for (let j=0; j<entries.length; j++) {
let parent = entries[j].parent;
console.log(parent.webkitGetAsEntry());
console.log(parent.getAsFile());
//console.log(entries[j].getAsFile()) -> this fails
}
for(设j=0;j此操作失败
}
但是,从上面提到的答案代码中,我们可以做到这一点
for (let j=0; j<entries.length; j++) {
entries[j].file(function(file) {
console.log(file.webkitGetAsEntry());
console.log(file.getAsFile());
});
}
for(让j=0;j根据评论中提供的答案,我们得出以下结论:
如果删除的项目是目录,则该行
item.createReader().readEntries(function(entries) {
生成本身作为item.webkitGetAsEntry()
实例的条目数组
无法访问“父级”,类似于
for (let j=0; j<entries.length; j++) {
let parent = entries[j].parent;
console.log(parent.webkitGetAsEntry());
console.log(parent.getAsFile());
//console.log(entries[j].getAsFile()) -> this fails
}
for(设j=0;j此操作失败
}
但是,从上面提到的答案代码中,我们可以做到这一点
for (let j=0; j<entries.length; j++) {
entries[j].file(function(file) {
console.log(file.webkitGetAsEntry());
console.log(file.getAsFile());
});
}
for(让j=0;jIs回答您的问题“哪种方法才是知道被删除文件大小的正确方法?”不包括在问题本身“当删除文件并访问这些文件的信息时,使用let files=e.dataTransfer.files;
您可以检查文件大小”?使用event.dataTransfer.files
有什么问题?据我所知,.files似乎被弃用,取而代之的是.items(?)您能否提供指向您所读内容的链接,其中.files
被弃用?“但是,在读取目录时如何做到这一点?”你最新查询的解决方案可以在这个问题的答案中找到。我正在阅读这个问题,但即使这个问题包含在其他问题中,它也回答了许多其他问题,这使得这个问题的答案在那里变得非常模糊。也许从那里提取问题并在这里提供它会很有用。是吗他回答了您的问题“哪种方法才是知道被删除文件大小的正确方法?”问题本身未包括“当删除文件并访问这些文件的信息时,请使用let files=e.dataTransfer.files;
您可以检查文件大小”?使用event.dataTransfer.files
有什么问题?据我所知,.files似乎被弃用,取而代之的是.items(?)您能否提供指向您所读内容的链接,其中.files
被弃用?“但是,在读取目录时如何做到这一点?”你的最新查询的解决方案可以在这个问题的答案中找到。我正在阅读这个问题,但即使这个问题包含在其他问题中,它也回答了许多其他问题,这使得这个问题的答案在那里变得非常模糊。也许从那里提取问题并在这里提供它会很有用。Inst在你的答案中提出问题的EAD,也许会考虑问一个单独的,具体的问题。你指的是“父节点”?你实际上想要达到什么?“父”节点是指父节点,如这里所解释的。我试图实现的是访问GETASFILE()。函数,现在我可以在本文中解释。File
和Directory
实例不是节点。您可以访问Directory
实例的if(entry.isFile){entry.File(function(File){listFile(File,entry.fullPath)。然后(resolve)}else if(entry.isDirectory){var reader=entry.createReader();}
在回答链接问题时是的,但是你能给我看任何解释这个的文档吗?我在任何地方都找不到描述的方法“file”是的,但是你能给我看任何解释这个的文档吗?我在任何地方都找不到描述的方法“file”请看,而不是问你的答案中的一个问题,也许考虑问一个单独的、具体的问题。你指的是“父节点”?你实际上想要实现什么?“父”节点是指父节点,如这里所解释的。我试图实现的是访问GETASFILE()。函数,现在我可以在本文中解释。File
和Directory
实例不是节点。您可以访问Directory
实例的if(entry.isFile){entry.File(function(File){listFile(File,entry.fullPath)。然后(resolve)}else if(entry.isDirectory){var reader=entry.createReader();}
在回答链接问题时是的,但是你能给我看任何解释这个的文档吗?我在任何地方都找不到描述的方法“file”是的,但是你能给我看任何解释这个的文档吗?我在任何地方都找不到描述的方法“file”参见