gpt4 book ai didi

c# - 在 C# uwp 中拒绝文件访问

转载 作者:太空宇宙 更新时间:2023-11-03 22:48:33 24 4
gpt4 key购买 nike

我正在解决一个问题。我正在开发 uwp 应用程序,我需要获取使用 filepicker 选择的文件的 sha256 哈希值。我已经完成了 filepicker 的一部分,但是当我使用 filepicker 从我的计算机中选择文件并且我想检查该文件的哈希时,我收到有关访问被拒绝的错误消息。有人解决过这样的问题吗?我想,当我用文件选择器选择文件时,我可以访问它,对吧?

最佳答案

已解决。我的问题是 init of stream,我按名称启动了一个新流,但它不是这样工作的。我发现,如果我浏览所有使用 filepicker 选择的文件,我将使用从 filepicker 返回的对象。工作示例:

        var picker = new Windows.Storage.Pickers.FileOpenPicker();
picker.ViewMode = Windows.Storage.Pickers.PickerViewMode.Thumbnail;
picker.SuggestedStartLocation = Windows.Storage.Pickers.PickerLocationId.VideosLibrary;
picker.FileTypeFilter.Add(".avi");
picker.FileTypeFilter.Add(".mp4");
picker.FileTypeFilter.Add(".mpeg");
picker.FileTypeFilter.Add(".mov");
picker.FileTypeFilter.Add(".mkv");

IReadOnlyList<StorageFile> files = await picker.PickMultipleFilesAsync();
if (files.Count > 0)
{
// doing some needed staff

StringBuilder output = new StringBuilder("Picked files:\n\n");

// Application now has read/write access to the picked file(s)
foreach (StorageFile file in files)
{
output.Append(file.Name + "\n");

using (IRandomAccessStream filestream = await file.OpenAsync(FileAccessMode.ReadWrite))
{
output.Append("File SHA256 hash -> " + BytesToString(Sha256.ComputeHash(filestream.AsStreamForRead())) + "\n\n");
await filestream.FlushAsync();
}
}
this.filePickerInfo.Text = output.ToString();
}
else
{
this.filePickerInfo.Text = "Operation cancelled.";
}

关于c# - 在 C# uwp 中拒绝文件访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48720900/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com