使用FileWriter更改文件的名称

时间:2014-11-18 16:52:03

标签: html5 google-chrome-app html5-filesystem

我想知道是否可以使用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);

}

我想这是可能的,但我找不到。

提前谢谢!

1 个答案:

答案 0 :(得分:2)

为此,您需要使用DirectoryEntry API。要写入新文件,您需要使用getFile创建新文件并将内容写入其中。

要执行此操作,您还需要访问要创建新文件的目录,以及在此处创建文件的权限。如果目录位于沙盒文件系统中,则这不是问题。

如果要在用户的文件系统上创建文件,则更复杂。用户需要授予您应用对该文件夹的访问权限(通过chrome.fileSystem.chooseEntry),您的应用需要拥有chrome.fileSystem.directorychrome.fileSystem.write权限。