HttpPostedFile.SaveAs 访问被拒绝

Posted

技术标签:

【中文标题】HttpPostedFile.SaveAs 访问被拒绝【英文标题】:HttpPostedFile.SaveAs access denied 【发布时间】: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 函数时才会收到错误消息。

【问题讨论】:

【参考方案1】:

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

【讨论】:

真是个笨蛋。谢谢!!【参考方案2】:

来,试试看:

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

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

【讨论】:

以上是关于HttpPostedFile.SaveAs 访问被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

对路径的访问被拒绝怎么办?

对路径的访问被拒绝,怎么解决

“对路径的访问被拒绝.” 是怎么回事

#1045 - 用户 'root'@'localhost' 的访问被拒绝(使用密码:YES)MAMP MySQL 访问被拒绝

手机访问的网站被拦截了怎么办

“对路径的访问被拒绝.” 是怎么回事