我就像在C盘上(以及以后在网络上)创建一个新文件一样。
我想在一个带有openFilePicker的文件夹中选择一个文件(有效),然后单击一个按钮,例如,将该文件复制到我的桌面上。
文件属性:
public StorageFile File { get; set; }
openFilePicker代码:
public async Task GetFileAsync()
{
var picker = new FileOpenPicker();
picker.ViewMode = PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
picker.FileTypeFilter.Add("*");
File = await picker.PickSingleFileAsync();
}
要保存的代码:
public async Task SaveFileAsync()
{
try
{
StorageFolder test2 = await StorageFolder.GetFolderFromPathAsync(@"C:\Users\bvens\Desktop");
await File.CopyAsync(test2, File.Name, NameCollisionOption.ReplaceExisting);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
}
但是当尝试写入“ saveFileAsync”时,我遇到了UnauthorizedAccessException异常 =>
System.UnauthorizedAccessException:拒绝。 (来自HRESULT:0x80070005的异常(E_ACCESSDENIED))
谢谢
修改 问题在于,在UWP中,该应用程序位于另一个线程中,因此没有编写权限。您需要向用户询问您的应用可以转到目标文件(例如android)
(我们可以解决此问题)
答案 0 :(得分:0)
当使用StorageFile.CopyAsync将已加密的文件复制到未加密的目标时,调用将失败,但出现以下异常:System.UnauthorizedAccessException:访问被拒绝。 (Excep_FromHResult 0x80070005)
我认为这是一个问题