我正在尝试将文件保存到磁盘,但收到 UnauthorizedAccessException。 该错误表明我必须获得该文件夹的正确权限,并且我已经尝试了我能找到的所有可能的用户,但它不起作用。
尝试了以下用户
- 网络
- 网络服务
- IUSR
- IUSR_[计算机名]
并在不工作的情况下获得完整的权利。
我发现真正奇怪的是,我在尝试保存文件之前创建了一个目录,并且效果很好,当尝试将文件保存到该新目录时,我收到了 UnautorhizedAccessException。
代码如下:
[HttpPost]
public ActionResult Images(HttpPostedFileBase file, string boatId)
{
if (file.ContentLength > 0)
{
var fileName = Path.GetFileName(file.FileName);
var path = Path.Combine(Server.MapPath("~/Content/Images/" + boatId));
Directory.CreateDirectory(path);
file.SaveAs(path);
}
return View($"Filen på {boatId} har laddats upp");
}
对我缺少的东西有什么想法吗?
最佳答案
原来我想要做的是保存文件夹而不是文件,我忘记将文件名与路径组合起来。
将保存部分更改为以下内容:
file.SaveAs(Path.Combine(path, fileName));
这为我解决了整个问题。
关于c# - 保存文件时出现 UnauthorizedAccessException,但可以创建目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44949026/