1

我有一个 asp.net 项目,我正在将选定的图像保存到 NewUrunler1 文件中,并将图像的路径保存在我的数据库中。在本地,它可以正常工作,但是由于我将项目移动到了我的 Godaddy 主机,因此保存方法会出错。这是我保存图像的代码:

protected void UploadImage()
    {
        try
        {
            HttpPostedFile yuklenecekDosya = FileUploadImage.PostedFile;
            if (yuklenecekDosya != null)
            {
                FileInfo dosyaBilgisi = new FileInfo(yuklenecekDosya.FileName);
                string yuklemeYeri = Server.MapPath("~/Images/NewUrunler1/" + dosyaBilgisi);
                FileUploadImage.SaveAs(Path.Combine(yuklemeYeri));
            }
        }
        catch (Exception e)
        {
            failDiv.Visible = true;
            lblHata.Text = e.ToString();
        }
    }

当我运行它时,我从 try catch 中得到一个错误。这是错误:

System.UnauthorizedAccessException: Access to the path 'G:\PleskVhosts\ada-crm.com\httpdocs\Images\NewUrunler1\deneme.png' is denied. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode) at System.Web.HttpPostedFile.SaveAs(String filename) at CRM.UrunEkle.UploadImage()

我是 asp.net 的新手,很抱歉,如果这是一个简单的问题,但我在网上搜索并无法解决。感谢您的时间。

4

4 回答 4

1

https://www.godaddy.com/help/set-directory-permissions-windows-6481 这是在goddady上设置写权限的手册。希望它有帮助。在您的代码将工作的文件夹上为您的应用授予写入权限

于 2016-02-24T11:23:01.297 回答
1

我不确定 GoDaddy,但在典型的 IIS 托管环境中,您需要确保您尝试上传到的文件夹已为与网站的 ApplicationPool 关联的用户应用了写入权限。

另外,请确保路径首先存在。您可以通过检查文件夹是否存在,如果不存在则创建它们来执行此操作。

于 2016-02-24T10:57:47.100 回答
1

这与 ASP.NET 与基本的 Windows 安全性无关。有人将您的网站设置为在无权写入该网站的用户下运行。

从安全的角度来看,这很有意义。现在致电您的主机支持并询问他们 - 如何更改此设置,以便运行网站进程的用户可以读取/写入文件夹;)

于 2016-02-24T11:06:55.063 回答
0

您的代码没有问题,Godaddy 主机存在访问问题。 Goto > Virtual Directory > Directory Access Permission 并设置Full ControlApplication pool group

于 2016-02-24T11:15:26.850 回答