UWP 应用中 LocalCacheFolder 中文件的 URI
URI of a file in LocalCacheFolder in a UWP app
我有一个媒体文件,我正在 LocalCacheFolder
中保存(因为我不想备份它)。我想通过将 Source
设置为文件的 URI 来使用 MediaElement
播放文件。问题是我不知道 URI 会是什么样子。
这是保存文件的代码:
StorageFolder localFolder = ApplicationData.Current.LocalCacheFolder;
var file = await localFolder.CreateFileAsync(id, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(file, video);
如果我保存到 LocalFolder
,URI 将如下所示:
ms-appdata:///local/myfile
但是 LocalCacheFolder
会是什么样子?
更新
所以,我做了一些更多的测试,看起来 URI 应该是
ms-appdata:///localcache/myfile
如果我使用 StorageFile.GetFileFromApplicationUriAsync
访问文件,这将完美运行,但如果我将其设置为 MediaElement
的来源,我会收到无效文件路径错误。
为了确保文件没有问题,我更改了要使用的代码
ApplicationData.Current.LocalFolder
和 ms-appdata:///local/myfile
风格的 URI,一切都完美无缺。
如果你想在 MediaElement
中玩 StorageFile
你应该使用 SetSource
方法:
var fileStream = await myStorageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(fileStream, myStorageFile.ContentType);
我有一个媒体文件,我正在 LocalCacheFolder
中保存(因为我不想备份它)。我想通过将 Source
设置为文件的 URI 来使用 MediaElement
播放文件。问题是我不知道 URI 会是什么样子。
这是保存文件的代码:
StorageFolder localFolder = ApplicationData.Current.LocalCacheFolder;
var file = await localFolder.CreateFileAsync(id, CreationCollisionOption.ReplaceExisting);
await FileIO.WriteBytesAsync(file, video);
如果我保存到 LocalFolder
,URI 将如下所示:
ms-appdata:///local/myfile
但是 LocalCacheFolder
会是什么样子?
更新
所以,我做了一些更多的测试,看起来 URI 应该是
ms-appdata:///localcache/myfile
如果我使用 StorageFile.GetFileFromApplicationUriAsync
访问文件,这将完美运行,但如果我将其设置为 MediaElement
的来源,我会收到无效文件路径错误。
为了确保文件没有问题,我更改了要使用的代码
ApplicationData.Current.LocalFolder
和 ms-appdata:///local/myfile
风格的 URI,一切都完美无缺。
如果你想在 MediaElement
中玩 StorageFile
你应该使用 SetSource
方法:
var fileStream = await myStorageFile.OpenAsync(FileAccessMode.Read);
mediaElement.SetSource(fileStream, myStorageFile.ContentType);