javascript - 如何使用文件系统 API 重命名 Chrome 应用程序中的文件?

标签 javascript google-chrome-extension google-chrome-app

我在我的 Chrome 应用程序中使用 Chrome 文件系统,我想重命名一个本地文件。我知道如何编写一个新文件,方法是:

chrome.fileSystem.getWritableEntry(print_location, function(entry) {
    entry.getFile('file1.txt', {create:true}, function(entry) {
        entry.createWriter(function(writer) {
            writer.write(new Blob(['Lorem'], {type: 'text/plain'}));
        });
    });
});

哪个有效,但是给定一个已经存在的文件,我如何重命名它(覆盖)?或者如何删除文件、复制文件或移动文件?这不可能吗?

更新:

根据 Daniel Herr 的解释,它与 HTML 文件系统 api 共享,我生成了以下代码,解决了我的问题。

function rename_file(file_location, file_old_name, file_new_name){
    chrome.fileSystem.getWritableEntry(file_location, function(entry) {        
        entry.getFile(file_old_name, {create:false}, function(entry) {
            entry.moveTo(file_location, file_new_name, 
                     function(){console.log("success");}, 
                     function(){
                        console.log("fail"); 
                      });
        });
    });
}

最佳答案

如果文件在您有权访问的文件夹中,您可以使用 entry.moveTo 方法重命名它。

fileentry.getParent(function(parent) {
 fileentry.moveTo(parent, "newname")
})

https://developer.mozilla.org/en-US/docs/Web/API/Entry#moveTo

关于javascript - 如何使用文件系统 API 重命名 Chrome 应用程序中的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37844713/

相关文章:

javascript - ReactJS - 使用 iframe 静默更新 token

javascript - Angular HTTP promise 返回空

javascript - jquery-首先检查类名然后应用条件

javascript - Chrome - 检测浏览器关闭或标签页关闭

javascript - Uncaught ReferenceError : Promise is not defined

javascript - 维护 Chrome 打包应用程序的登录状态

javascript - 小计算题

javascript - Chrome 扩展程序 : How to reload tab from anywhere using keyboard events?

javascript - Shift-双击时触发 JavaScript Action

android - Google 是否可以通过编程方式在打开 native 应用程序的移动浏览器上跟踪 Google map URL 的引荐来源网址?