如何授予在磁盘或映射驱动器上写入的权限
Posted
技术标签:
【中文标题】如何授予在磁盘或映射驱动器上写入的权限【英文标题】:How give permission to write on disk or mapped drive 【发布时间】:2019-09-01 00:23:24 【问题描述】:我只想在我的 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: Accès refusé。 (来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))
谢谢
编辑 问题在于,在 UWP 中,应用程序位于另一个线程中,因此无权编写。您需要向您的用户询问您的应用可以转到目标文件(如在 android 中)
(我们可以关闭这个问题)
【问题讨论】:
我知道这个链接,但不幸的是,它并没有解释我如何在其他磁盘上写入 =/ 【参考方案1】:当使用 StorageFile.CopyAsync 将已加密的文件复制到未加密的目标时,调用将失败并出现以下异常:System.UnauthorizedAccessException:访问被拒绝。 (Excep_FromHResult 0x80070005)
我认为这是个问题
【讨论】:
以上是关于如何授予在磁盘或映射驱动器上写入的权限的主要内容,如果未能解决你的问题,请参考以下文章
如何授予 apache 使用 NTFS 分区上的目录的权限?
授予 Simba ODBC 驱动程序或 bigrquery 访问 Google Drive 文件的权限