在我的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()方法?
答案 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
});