gpt4 book ai didi

JavaScript/Ajax 写入文件

转载 作者:行者123 更新时间:2023-11-30 15:29:25 26 4
gpt4 key购买 nike

我知道这个问题被问了很多,但这里的区别是我禁用了网络安全。我正在创建一个永远不会在任何地方托管的网络应用程序,以访问用户运行 chrome --disable-web-security --user-data-dir [webappdirectoryhere]我理解这有多么不正统,但这只是一个小项目。

我正在使用这个 ajax 来访问本地文件(这在 chrome 中不起作用,除非你有一个正在运行的服务器或者你只是像我一样禁用网络安全):

function loadDoc(){
$.ajax({url: "ajax_info.txt", success: function(result){
var variablesArray = result.split(" ");
}});
}

所以我的问题是 - 我可以做这样的事情但不是为了写作而不是阅读吗?

编辑:所以我真正想要的是一个执行该 ajax 逆函数的函数。并写类似 (variable1 + ""+ variable2)注意:我想覆盖,而不是追加。

最佳答案

既然您说过您不打算在任何地方托管它,您只需将您的代码移动到打包的应用程序中即可。从那里你可以使用 chrome.fileSystem接口(interface)。

使用chooseEntry()询问用户他们希望应用程序能够读取/写入哪个目录。在回调中检查返回的条目是否有效,然后将其存储以备后用。

var userDir = null;
chrome.fileSystem.chooseEntry({type: 'openDirectory'}, function(theEntry) {
//do sanity check(s) and store it
if(!theEntry.isDirectory) {
//report error
return;
}
userDir = theEntry;
});

一旦有了目录条目引用,就可以使用 getFile()要获取对文件的引用,如果它不存在则创建它,创建子目录也一样,只需将 getFile 替换为 getDirectory。然后使用 createWriter()获取一个 FileWriter 实例以写入该文件。

function saveData(filename,data){
if(!userDir) {
//report error
return;
}

userDir.getFile(filename, {create: true}, function(fileEntry) {
if(!fileEntry || !fileEntry.isFile){
//report error
return;
}

fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
//report success
};
fileWriter.onerror = function(e) {
//report error: e.toString()
};

//Create a Blob from the data and write it.
var blob = new Blob([data], {type: 'text/plain'});
fileWriter.write(blob);
});
});
}

//at some point after user has selected directory
saveData("log.txt","Some data");

检查各种文档以获取错误报告和其他必需品。

如果你只想询问用户一次目录使用retainEntry()保存目录条目的 id。并使用 restoreEntry()获取目录的引用。从那里开始,只需执行 saveData 函数中的步骤即可。检查文档以了解其他过程,例如读取文件。

关于JavaScript/Ajax 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42460493/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com