问题描述
我使用以下功能通过XMLHttpRequest
从网址获取文件:
function loadFile(filePath) {
var result = null;
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET",filePath,false);
xmlhttp.overrideMimeType('text/plain; charset=x-user-defined');
xmlhttp.send(null);
if (xmlhttp.status==200) {
result = (xmlhttp.response);
}
return result;
}
我想访问文件的属性,例如名称,等等。
是否有将其转换为输入文件类型的方法?
我该怎么办?
有人可以帮助我吗?
我使用了本文中的以下代码:
Convert URL to File or Blob for FileReader.readAsDataURL
fetch("http://localhost:5050/MyAudio.mp3",{mode:"cors"})
.then(res => res.blob())
.then(blob => {
var file = new File([blob],"MyAudio.mp3",{type:"text/plain"});
var dataTransfer = new DataTransfer();
dataTransfer.items.add(file);
console.log(dataTransfer.files);
});
但是看来dataTransfer.files
与event.target.files
不同
因为我得到相同的类型值,但是值却不同。
dataTransfer.files
的输出为FileList 0: File {name: "MyText.txt",lastModified: 1602355635179,lastModifiedDate: Sat Oct 10 2020 22:17:15 GMT+0330 (Iran Standard Time),webkitRelativePath: "",size: 524288,…} length: 1 __proto__: FileLis
event.target.files
的输出为FileList 0: File length: 1 __proto__: FileLis
我想从url获取文件,并用event.target.files
类型填充输入文件。
有人可以为此推荐或帮助我吗?
当我用event.target.file
填充文件时,我没有任何问题。
当我从url获取文件并从中获取音频上下文时,在chrome中,我得到以下警告:
The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page
。
我能做些什么来防止引起用户的困扰吗?或者我必须在工作中使用其他解决方案?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)