HTML/JavaScript: 每次下载时覆盖文件

4

每次保存时覆盖文件是可能的。我有一个HTML文本区域并使用JavaScript将文本保存到文件。当前保存的文件名为:test.txt,test(1).txt,test(2).txt。是否可以让它每次下载时都保存为test.txt。

我用于下载的代码如下:

function saveTextAsFile()
{      
    var textToWrite = document.getElementById("inputTextToSave").value;
    var textFileAsBlob = new Blob([textToWrite], {type:'plan/text'});
    var fileNameToSaveAs = "test.txt";
    var downloadLink = document.createElement("a");
    downloadLink.download = fileNameToSaveAs;
    downloadLink.innerHTML = "My Hidden Link";
    window.URL = window.URL || window.webkitURL;
    downloadLink.href = window.URL.createObjectURL(textFileAsBlob);
    downloadLink.onclick = destroyClickedElement;
    downloadLink.style.display = "none";
    document.body.appendChild(downloadLink);
    downloadLink.click();
}

感谢您的帮助。
1个回答

9
不,JavaScript脚本没有访问文件系统的权限,因此无法操纵文件。它所能做的就是向浏览器建议一个流需要被下载,并建议该流的名称。浏览器负责决定要下载什么以及如何下载(您可以为浏览器添加插件和扩展来强制执行此特定行为,但我认为这不是您所需的)。
编辑: 二话不说,您实际上可以使用Java applet完成这项任务。然而,我无法帮助您完成这个任务,而且说实话,您不应该这样做(首先它在Chrome上不起作用,除非您有一个非常重要的原因,否则这将像用核弹杀死一只蚊子一样,更不用提意外从用户端删除文件的机会以及一系列警报,这会使您的应用程序看起来很可疑,因为它没有任何真正使用Java的理由)。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接