文件上传权限被拒绝,Godaddy共享主机。

8
我在 Godaddy 共享主机上有一个 ASP.NET 应用程序。一切都正常,但当我上传某些文件时,会出现错误“拒绝访问路径'PATH'”。 我尝试了多种方法,如通过 Godaddy 控制面板授予要上传文件的文件夹完全权限。 我还看了这篇文章并尝试按照他所说的去做:http://forums.asp.net/t/1052417.aspx/1 但没有帮助。 有人能建议我哪里出了问题吗?它在 IIS 7 下运行。

请提出建议。这应该是一个常见的问题,我相信大多数人都曾经面临过它... - Deepak Kumar
3个回答

17
  1. 打开“文件管理器”
  2. 导航到文件夹并将光标悬停在上面
  3. 点击“名称”列右边的小“向下”箭头(见图像)
  4. 点击“更改权限”
  5. 选择用户(如果您通过网站进行文件上传,则最可能要使用“Plesk IIS工作进程标识帐户”),并根据需要设置权限

输入图像描述


1
这个可以运行。另外我还想补充一点,你需要授予“应用程序池组”用户名写入权限。 - Fahad
我得到了“操作不允许”,真是令人烦恼! - undefined

8

请按照以下步骤操作:来源 - 2

“使用Windows托管账户设置目录权限”

http://support.godaddy.com/help/article/6481

如果以上方法无法解决您的问题,请联系您的托管提供商以获取访问权限。

参考资料:在Windows托管账户上删除目录的Web访问

删除该目录的“匿名访问”IIS设置。这样做的结果是,您只能通过托管账户或FTP访问该目录。无论您是否知道托管账户用户名和密码,都无法通过任何Web浏览器访问该目录。


嗨,Niranjan,感谢您的回复。我已经查看了这些链接并且在Godaddy管理面板中设置了文件权限为读/写。通过FTP上传文件是可以工作的,但是当我使用我的代码上传文件时,它完全失败了。我尝试按照此链接中的“http://forums.asp.net/t/1052417.aspx/1”添加模拟设置到Web配置文件中,但仍然没有运气。我的文件不在根文件夹中。我添加了一个文件夹,并尝试将文件存储到此文件夹中。 - Deepak Kumar
根据Godaddy的支持团队,选择所选文件的权限:写入 - 应用程序可以写入此目录。然后它应该可以工作了。 - Niranjan Singh
嗨,Niranjan,感谢您的回复并帮助我解决这个问题。我已经检查了匿名访问权限已经给予了。所以我不知道还应该做什么。有什么建议吗?请指教。 - Deepak Kumar

0
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections.Generic;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            BindGrid();
        }
    }
    protected void BindGrid()
    {
        string[] filePaths = Directory.GetFiles(Server.MapPath("~/images/"));
        List<ListItem> files = new List<ListItem>();
        foreach (string filePath in filePaths)
        {
            files.Add(new ListItem(Path.GetFileName(filePath), filePath));
        }
        GridView1.DataSource = files;
        GridView1.DataBind();
    }
    protected void btnUpload_Click(object sender, EventArgs e)
    {
        if (FileUpload1.HasFile)
        {
            FileUpload1.SaveAs(Server.MapPath("~/images/") + FileUpload1.FileName);
            BindGrid();
        }
        else //enter code here
        {
            Response.Write("Please select file to upload");
        }
    }
    protected void DownloadFile(object sender, EventArgs e)
    {
        string filePath = (sender as LinkButton).CommandArgument;
        Response.ContentType = ContentType;
        Response.AppendHeader("Content-Disposition", "attachment; filename=" + Path.GetFileName(filePath));
        Response.WriteFile(filePath);
        Response.End();
    }
    protected void DeleteFile(object sender, EventArgs e)
    {
        string filePath = (sender as LinkButton).CommandArgument;
        File.Delete(filePath);
        BindGrid();
    }
}

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接