Windows 8 在localFolder中写入特定于文件的文件夹
我正在尝试将图像文件写入localFolder存储。我想专门将其写入localFolder中的Windows 8 在localFolder中写入特定于文件的文件夹,windows-8,visual-studio-2012,winjs,Windows 8,Visual Studio 2012,Winjs,我正在尝试将图像文件写入localFolder存储。我想专门将其写入localFolder中的images/heros/文件夹。有没有办法用我现有的代码做到这一点 return WinJS.xhr({ url: fileToDownloadURL, responseType: 'blob' }).then( function (response) { var input = response.response.msDetachStream(); var filena
images/heros/
文件夹。有没有办法用我现有的代码做到这一点
return WinJS.xhr({ url: fileToDownloadURL, responseType: 'blob' }).then(
function (response) {
var input = response.response.msDetachStream();
var filename = 'ms-appx:///local/images/heroes/image_name.png';
Windows.Storage.ApplicationData.current.localFolder.createFileAsync(filename,
Windows.Storage.CreationCollisionOption.replaceExisting).then(
function (file) {
return file.openAsync(Windows.Storage.FileAccessMode.readWrite).then(
function (output) {
return Windows.Storage.Streams.RandomAccessStream.copyAsync(input, output).then(
function () {
output.flushAsync().then(function () {
input.close();
output.close();
});
});
});
}
}
)};
我收到以下错误消息:
0x8007007b-JavaScript运行时错误:文件名、目录名或卷标语法不正确。
WinRT信息:指定的名称(毫秒)-appx:///local/images/heroes/image_name.png)包含一个或多个无效字符。
我找到了。如果有人想知道,你可以打电话
getFolderAsync('SomeFolderName')
从
Windows.Storage.ApplicationData.current.localFolder
例如getFolderAsync()
类似于任何promise函数,如果文件夹不存在,它将返回一个错误。从那里你可以跑
createFolderAsync('SomeFolderName')
创建文件夹,然后继续您正在执行的操作。在我的例子中,最好创建一个函数,如writeFileAsync()
,然后根据文件夹是否首先存在来调用它
请记住getFolderAsync()
一次只能获取一个文件夹,因此
getFolderAsync('along/list/of/folders')
不行。我相信,您必须将getFolderAsync()
调用链接在一起(如果我错了,请纠正我!)