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

Posted

技术标签:

【中文标题】文件上传权限被拒绝 Godaddy 共享主机【英文标题】:File Upload Permission denied Godaddy Shared hosting 【发布时间】:2012-05-31 18:26:36 【问题描述】:

我在 godaddy 共享主机上有一个 Web 应用程序。它是一个 asp.net 应用程序。一切正常,但是当我上传一些文件时,它会出现错误“拒绝访问路径'PATH'。”

我尝试了几种方法,例如授予我从 Godaddy 控制面板上传文件的文件夹的完全权限。

我也看到了这个帖子并尝试关注他说:http://forums.asp.net/t/1052417.aspx/1

但没有帮助。

谁能建议我那里有什么问题。它在 IIS 7 下。

【问题讨论】:

请提出一些建议..这应该是一个普遍的问题,我相信我们大多数人都必须面对它...... 【参考方案1】:
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();
    

【讨论】:

【参考方案2】:
    打开“文件管理器” 导航到文件夹并将鼠标悬停在其上 点击“名称”列右边缘的“向下”小箭头(见图) 点击“更改权限” 选择用户(如果您通过站点上传文件,您很可能希望使用“Plesk IIS 工作进程身份帐户”)并根据需要设置权限

【讨论】:

这行得通。我还想补充一点,您需要向“应用程序池组”用户名授予 WRITE 权限。【参考方案3】:

按照这个: Source - 2

“使用 Windows 主机帐户设置目录权限”

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

如果不能解决您的问题,您应该向您的托管服务提供商索取访问权限。

参考: Removing Web Access to Directories on a Windows Hosting Account

删除该目录的“匿名访问”IIS 设置。这 删除此权限的结果是您只能访问该权限 使用您的主机帐户或通过 FTP 访问目录。你不会 能够通过任何 Web 浏览器访问该目录,无论 您是否了解托管帐户用户名和 密码。

【讨论】:

您好 Niranjan,感谢您的回复。我已经浏览了这些链接,并且在 Godaddy 管理面板中将文件权限设置为 READ/WRITE。通过 FTP 上传文件正在工作,但是当我使用我的代码上传文件时,它完全失败了。我尝试在网络配置中按照此链接“forums.asp.net/t/1052417.aspx/1”添加模拟设置,但仍然没有运气。我的文件不在根文件夹中。我添加了一个文件夹,我正在尝试将文件存储到此文件夹中。 根据godaddy的支持团队,选择所选文件的权限:Write — Applications can write to this directory. 然后它应该可以工作.. 嗨 Niranjan,感谢您在这个问题上的回复和帮助。我已经检查了匿名访问权限。所以我不知道我还能做什么。有什么我可以做的吗?请提出建议。

以上是关于文件上传权限被拒绝 Godaddy 共享主机的主要内容,如果未能解决你的问题,请参考以下文章

尝试从 docker 容器访问共享内存时出现“权限被拒绝”,即使 --ipc 设置为“主机”

Web 共享 API:某些文件类型的权限被拒绝

权限被拒绝尝试附加到已安装目录中的文件

如何禁止群成员在qq群共享上传文件?

如何在没有 SSH 的情况下在 GoDaddy 共享主机中托管 Laravel 5.2?

如何将 Laravel 5.5 应用部署到 Godaddy cPanel 共享主机