我已经成功地使用FileReader将一些XML数据从本地文件解析为HTML页面。如果我对 DOM 进行更改,我可以成功地将数据解析回 XML 文件,但是如果我尝试覆盖用于读取的文件,它不会成功下载。如果我使用其他名称保存文件,它将成功下载。
我从浏览/输入选择器中使用这样的文件阅读器:
function handleFileSelection(evt) {
var files = evt.target.files;
var url = window.URL.createObjectURL(files[0]);
reader = new FileReader();
reader.onload = function (e) {
然后,如果我进行更改,我会像这样保存数据:
var blob = new Blob(
arrayOfUnits,
{ type: "text/xml" }
);
window.navigator.msSaveBlob(blob, 'Units.xml');
我觉得FileReader要么锁定了文件,要么JavaScript无法覆盖本地文件?
我尝试使用:FileReader.abort()
这似乎就像 java 中的FileReader.close()
,但这并没有解决我的问题。
感谢任何帮助,我是在本地文件系统中使用 JavaScript 的新手。
FileReader 不会写入文件系统。您需要 FileWriter 来执行此操作。