我正在尝试将文件保存到磁盘,但我收到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));
这为我解决了整件事。