我想知道是否可以使用FileWriter函数重命名文件。此时,我可以毫无问题地保存我的文件。但我想在保存时更改她的名字。这是我的功能:
function saveFile(){
var s = fileEntry.name;
var new_name = s.substring(0, s.lastIndexOf(".")) + ".min" + s.substring(s.lastIndexOf("."))
fileEntry.name = new_name;
fileEntry.createWriter(function(fileWriter) {
fileWriter.onerror = function(e) {
console.log("Write failed: " + e.toString());
};
var blob = new Blob([textarea.value]);
fileWriter.truncate(blob.size);
fileWriter.onwriteend = function() {
fileWriter.onwriteend = function(e) {
console.log("Write completed.");
};
// fileWriter.write(blob);
}
}, errorHandler);
}
我想这是可能的,但我找不到。
提前谢谢!
答案 0 :(得分:2)
为此,您需要使用DirectoryEntry API。要写入新文件,您需要使用getFile
创建新文件并将内容写入其中。
要执行此操作,您还需要访问要创建新文件的目录,以及在此处创建文件的权限。如果目录位于沙盒文件系统中,则这不是问题。
如果要在用户的文件系统上创建文件,则更复杂。用户需要授予您应用对该文件夹的访问权限(通过chrome.fileSystem.chooseEntry
),您的应用需要拥有chrome.fileSystem.directory
和chrome.fileSystem.write
权限。