有没有办法将文件(使用filepicker选择)复制到当前运行的metro风格应用程序的installdir?我尝试使用以下命令获取InstallationFolder:
Windows.ApplicationModel.Package package = Windows.ApplicationModel.Package.Current;
Windows.Storage.StorageFolder installedLocation = package.InstalledLocation;
但是在获取InstalledLocation时我总是遇到以下错误:
Error HRESULT E_FAIL has been returned from a call to a COM component.
这可能是调试应用程序/不从商店安装它的问题吗?如何解决这个异常?
Windows.Storage.CopyAsync(IStroageFolder, ...)
应该可以使用该文件的副本。 InstalledLocation来自StorageFolder
类型。如果有人允许或者我会得到某些经验吗?像安全例外?
答案 0 :(得分:2)
InstalledLocation是只读的,但您可以写入应用程序的数据存储文件夹(ApplicationData.Current.LocalFolder)。
这有效:
var fop = new FileOpenPicker();
fop.FileTypeFilter.Add(".txt");
StorageFile file = await fop.PickSingleFileAsync();
if (file != null)
await file.CopyAsync(ApplicationData.Current.LocalFolder);
可能还需要检查应用程序清单中的库访问功能。