我正在尝试从异步任务创建一个新的jpeg文件。相关的代码片段如下所示
private async void OnSocketConnectionReceived(StreamSocketListener sender, StreamSocketListenerConnectionReceivedEventArgs args)
{
await ReceiveFile(args);
}
private async Task ReceiveFile(StreamSocketListenerConnectionReceivedEventArgs args)
{
string pathString = @"C:\Users\sarav\test.jpg";
FileStream writeStream = new FileStream(pathString, FileMode.CreateNew, FileAccess.Write, FileShare.None, bufferSize: 4096, useAsync: true);
}
它在FileStream中抛出上面的System.UnauthorizedAccessException。相同路径的相同Filestream片段正在基于控制台的C#应用程序上工作,从某种意义上说,文件test.jpg正在创建。关于我在这里缺少的任何建议。
答案 0 :(得分:0)
您很可能尝试在不同的用户下创建文件。在执行Thread.CurrentPrincipal
之前,请在两个方案中查看new FileStream
中的内容。
由于您在问题中没有确切的代码和环境设置,我无法提出确切的解决方案,但可以给出一个深入研究的方向。如果您有不同的用户,只需确保它可以访问您需要的特定目录。