WinJS从LocalState文件夹中删除文件夹

时间:2013-12-09 18:39:33

标签: javascript winjs windows-8.1

在我的Windows 8应用程序中,我想删除存储在LocalState文件夹中的所有缓存文档,我在文件夹中存储它们以便在应用程序中使用。

var deleteFolderPromise = Windows.Storage.ApplicationData.current.localFolder.deleteAsync("\\fileName").done(

    function (result) {
        console.log("File removed: " + Windows.Storage.ApplicationData.current.localFolder.path + "\\fileName");
    },
    function (error) {
        console.log("File not removed" + error);
    });

每次运行此代码时,它都会删除整个LocalState文件夹,而不是删除我在deleteAsync()中指定的文件夹或文件。如何修改代码以仅删除指定的文件夹或文件。我是否需要使用getFileAsync()/ getFolderAsync()并将该结果作为参数传递给deleteAsync()方法?

1 个答案:

答案 0 :(得分:2)

deleteAsync文件夹是一个在StorageFolder上运行的实例方法,您可以通过该方法调用它。在您的情况下,您在localFolder对象上调用它,从而看到该文件夹​​被删除。

相反,您需要首先获取本地文件夹,然后从中获取所需的特定StorageFolder,然后根据您的怀疑调用它的 deleteAsync,即:

Windows.Storage.ApplicationData.current.localFolder.getFolderAsync("folder_name").then(function (folder) {
    return folder.deleteAsync();
}).done(function () {
    //Success
}, function (err) {
    //Error
});