在使用File.Create时遇到System.UnauthorizedAccessException错误

3

当我尝试使用以下方法创建文件时,出现System.UnauthorizedAccessException错误:

using (var fileStream = System.IO.File.Create(filePath))

这是我得到的唯一的追踪信息。

Exception thrown: 'System.UnauthorizedAccessException' in System.Private.CoreLib.dll

这是在Docker上运行的ASP.NET Core 6 Web API。有什么想法吗?谢谢 :)
编辑: 这是我完整的代码片段,但它无法正常运行:
var filePath = Path.Combine(_environment.WebRootPath, "Uploads");
if(!Directory.Exists(filePath))
    Directory.CreateDirectory(filePath);

using (var fileStream = System.IO.File.Create(filePath))
    await file.CopyToAsync(fileStream);

1
因为您没有该路径的写入权限,这似乎是显而易见的解释。 - pm100
这个回答解决了你的问题吗?为什么访问路径被拒绝? - Merna Mustafa
请检查您声明的特定路径的安全性,确保您有权访问指定的路径。祝你好运,编码愉快 :) - Francis Decena
你的答案看起来很合理,但指定的文件夹是应用程序自己创建的。我猜测它有权访问上传文件夹。 - Stefan Vukovic
2个回答

1

刚解决了。我没有在路径中加入文件名。


1

你是想把这个文件创建到系统文件夹或类似的地方吗?你尝试将文件路径更改为,比如你的图片文件夹吗?你需要确保你有写入该文件夹的访问权限,否则你可能会遇到Windows权限问题。


嗨,我刚刚提供了一个编辑器来提供文件夹路径 :) - Stefan Vukovic

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接