大佬教程收集整理的这篇文章主要介绍了如何在 JavaScript 中存储对文件的引用?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 .xml 文件,其中包含批量货件中的物品清单。我需要能够解析该 .xml 文件并将其写入一个数组,然后该数组将显示在应用程序的表格中。
我计划的非常通用的伪代码是:
我被困在第二步(以某种方式临时存储该文件),但如果我必须修改第一步,我不会感到惊讶。
到目前为止,这是我的代码,它本质上只是一个按钮,要求在弹出窗口中上传文件
HTML:
<input type="file" ID="file" style="display:none;" />
<button ID="button" name="button" value="Upload" onclick="importfileSELEctor();">importManifest</button>
JavaScript:
var files = (function() { return document.getElementByID("file").click().files; })();
}
我想我的问题归结为:有没有办法在 JavaScript 中存储对文件的引用,以便我可以在该文件上调用相关函数?
是的。从 input[type=file]
接受文件后,您可以使用 FileReader API 读取文件内容并将其存储在变量中。
HTML:
<input type="file-input" id="file" accept="text/xml" />
JavaScript:
const fileInput = document.querySELEctor('#file-input');
const domParser = new DOMParser();
window.addEventListener('change',async () => {
const file = fileInput.files[0];
const xmlText = await readFileAsync(filE);
const xmlDoc = domParser.parseFromString(xmlText,"text/xml");
// run commands over xmlDoc
});
async function readFileAsync(filE) {
const fileReader = new FileReader();
return new Promise((resolve,reject) => {
fileReader.addEventListener('error',() => reject(fileReader.error));
fileReader.addEventListener('load',() => {
resolve(fileReader.result);
});
fileReader.readAsText(file,"UTF-8");
});
}
这将读取您通过输入选择的文件并将其解析为 XML DOM 树文档,您可以针对该文档运行查询。您可以查看有关 DOMParser here 的更多信息。
以上是大佬教程为你收集整理的如何在 JavaScript 中存储对文件的引用?全部内容,希望文章能够帮你解决如何在 JavaScript 中存储对文件的引用?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。