【问题标题】:HttpPostedFile.SaveAs access deniedHttpPostedFile.SaveAs 访问被拒绝
【发布时间】:2014-03-22 04:16:03
【问题描述】:

我正在尝试保存从我的页面上传的文件,但收到拒绝访问错误:

public void SaveFile(Item item, HttpPostedFileBase file)
    {
        var dir = string.Format(@"{0}\NSN\{1}", ConfigurationManager.AppSettings["ContentLocation"].ToString(), item.Id.ToString());

        if (!System.IO.Directory.Exists(dir))
            System.IO.Directory.CreateDirectory(dir);

        Array.ForEach(Directory.GetFiles(dir), File.Delete);

        file.SaveAs(dir);
    }

我从 Visual Studio 的本地主机运行此站点,因此不涉及应用程序池。我已经让网络服务(以及作为测试的每个人)完全控制文件夹及其子文件夹。奇怪的是,它会在需要时创建文件夹,并且还会删除现有文件夹中的任何文件。只有当我调用 SaveAs 函数时才会收到错误消息。

【问题讨论】:

    标签: c# asp.net-mvc file-upload file-permissions


    【解决方案1】:

    您使用目录路径而不是文件路径调用file.SaveAs

    【讨论】:

    • 真是个笨蛋。谢谢!!
    【解决方案2】:

    来,试试看:

    string saveAsPath = Path.Combine(dir, file);
    file.SaveAs(saveAsPath);
    

    用上面的替换file.SaveAs(dir)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-08-10
      • 2021-03-06
      • 2011-05-15
      • 2010-09-06
      • 2013-08-10
      • 2018-04-20
      • 2012-08-23
      相关资源
      最近更新 更多