从URL创建文件的javascript
我使用的第三方库希望通过HTML文件系统加载到文件中,如:从URL创建文件的javascript,javascript,Javascript,我使用的第三方库希望通过HTML文件系统加载到文件中,如: <input id="fileupload" type="file" onchange="LoadAndDisplayFile(this.files[0])"> 希望我能将myFile传递到LoadAndDisplayFile() 但我得到了以下错误: 未捕获的TypeError:构造“文件”失败:需要2个参数,但只存在1个 我肯定这是一个noob问题,但我在这里遗漏了什么?您不能创建一个只提供URL的文件对象 正确的方法
<input id="fileupload" type="file" onchange="LoadAndDisplayFile(this.files[0])">
希望我能将myFile
传递到LoadAndDisplayFile()
但我得到了以下错误:
未捕获的TypeError:构造“文件”失败:需要2个参数,但只存在1个
我肯定这是一个noob问题,但我在这里遗漏了什么?您不能创建一个只提供URL的文件对象 正确的方法是通过Http请求获取文件并读取,如下所示:
var blob = null
var xhr = new XMLHttpRequest()
xhr.open("GET", "path/to/file")
xhr.responseType = "blob"
xhr.onload = function()
{
blob = xhr.response
LoadAndDisplayFile(blob)
}
xhr.send()
我正在处理相同的错误,在花时间之后,我使用下面的代码创建了新的文件对象
new File(
[""],this.name,{
lastModified: 1605685839310,
lastModifiedDate: new Date(),
size: this.size,
type: "",
webkitRelativePath: ""
});
取决于“第三方”脚本的功能?
Uncaught TypeError:构造“文件”失败:需要2个参数,但只存在1个。
那么,请传递2个参数,而不是1个参数以获得答案。为了使您的解决方案有效,我只需使用:new File([blob],blob)从blob创建一个新的File对象,然后LoadAndDisplayFile(File)好的,我认为File对象的创建发生在LoadAndDisplayFile函数中。
new File(
[""],this.name,{
lastModified: 1605685839310,
lastModifiedDate: new Date(),
size: this.size,
type: "",
webkitRelativePath: ""
});