【发布时间】:2017-05-10 06:40:46
【问题描述】:
我只是在尝试使用 java 脚本的文件操作系统。正如我从 W3C 文件 API(https://www.w3.org/TR/FileAPI/) 中提到的,我们只能读取本地文件,如
var file = "test.txt";
function readTextFile(file) {
var readFile;
if(window.XMLHttpRequest){
// for new browsers
readFile = new XMLHttpRequest();
}else{
//for old browsers like IE5 or IE6
readFile = new ActiveXObject("Microsoft.XMLHTTP");
}
readFile.open("GET", file, true);
readFile.onreadystatechange = function() {
if(readFile.readyState === 4) {
if(readFile.status === 200 || readFile.status == 0) {
//text will be displayed that read from the file
console.log(readFile.responseText);
}
}
}
readFile.send(null);
}
但看起来没有选项可以在没有服务器的情况下写入文件。我曾尝试从http://www.stackoverflow.com/ 等网站获取解决方案,研究表明几乎没有可能。
举个例子,我得到的是
来自https://gist.github.com/Arahnoid/9925725
它显示错误“TypeError:file.open 不是函数。”
所以我的问题是,是否可以在不使用服务器端脚本的情况下对本地文件进行文件操作(仅询问写入文件),或者是否有任何可用的扩展?
我们可以使用 PHP、Node.js 等服务器脚本语言进行文件操作。
提前致谢。
【问题讨论】:
-
“本地文件”是指安装浏览器的机器上的文件吗?或者,你的意思是服务器机器上的文件?
-
是的,我的意思是安装浏览器的机器上的文件。 @shaochuancs。当然,上面给出的代码适用于服务器端。但是我们可以在本地做吗?
-
但是在您的代码中,您发送
GETAjax 请求以读取服务器端的文件。 -
是的,但是您的意思是将代码编写为
POSTAjax 请求吗? @shaochuancs . -
我已经尝试过 FileAPI(上面已经提到过),但我只能从本地文件中读取。如果您熟悉任何写入本地文件的程序,请在此处编写您的代码。 @shaochuancs。
标签: javascript html fileapi local-files