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

时间:2017-07-06 12:33:48

标签: c# model-view-controller asp.net-mvc-5

我正在尝试将文件保存到磁盘,但是我收到了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");
    }

我缺少什么想法?

1 个答案:

答案 0 :(得分:3)

原来我试图做的是保存文件夹而不是文件,我忘了将fileName与路径结合起来。

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

(?:E-Mail\s+Address(?:\n)+((?:(?: *\w+)+)@[^\.]+\.[^<]+))|(?:Phone Number(?:\n)+((?: *\w+)+))|(?:Postcode(?:\n)+((?: *\w+)+))|(?:Message(?:\n)+((?: *\w+)+))|(?:City(?:\n)+((?: *\w+)+))

这为我解决了整个事情。