保存文件时出现 UnauthorizedAccessException,但可以创建目录

Joh*_*ape 2 c# model-view-controller asp.net-mvc-5

我正在尝试将文件保存到磁盘,但收到 UnauthorizedAccessException。\n该错误表明我必须获得该文件夹的正确权限,并且我已尝试了我能找到的所有可能的用户,但没有成功工作。

\n\n

尝试过以下用户

\n\n
    \n
  • 网络
  • \n
  • 网络服务
  • \n
  • IUSR
  • \n
  • IUSR_[计算机名]
  • \n
\n\n

并在不工作的情况下给予充分的权利。

\n\n

我发现真正奇怪的是,我在尝试保存文件之前创建了一个目录,并且效果很好,当尝试将文件保存到该新目录时,我得到了 UnautorhizedAccessException。

\n\n

代码如下:

\n\n
    [HttpPost]\n    public ActionResult Images(HttpPostedFileBase file, string boatId)\n    {\n        if (file.ContentLength > 0)\n        {\n            var fileName = Path.GetFileName(file.FileName);\n            var path = Path.Combine(Server.MapPath("~/Content/Images/" + boatId));\n            Directory.CreateDirectory(path);\n            file.SaveAs(path);\n\n        }\n        return View($"Filen p\xc3\xa5 {boatId} har laddats upp");\n    }\n
Run Code Online (Sandbox Code Playgroud)\n\n

对我所缺少的有什么想法吗?

\n

Joh*_*ape 5

原来我想要做的是保存文件夹而不是文件,我忘记将文件名与路径结合起来。

将保存部分更改为以下内容:

file.SaveAs(Path.Combine(path, fileName));
Run Code Online (Sandbox Code Playgroud)

这为我解决了整个问题。