繁体   English   中英

将图像文件上传到服务器asp.net

[英]Uploading image file to server asp.net

我有一个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的新手很抱歉,如果这是一个简单的问题,但我在网上搜索,无法解决它。 感谢您的时间。

我不确定GoDaddy,但在典型的IIS托管环境中,您需要确保您尝试上传到的文件夹具有应用于该网站的ApplicationPool的User的写入权限。

此外,请确保路径首先存在。 您可以通过检查文件夹是否存在然后创建文件夹来创建它们。

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

从安全的角度来看,这是有道理的。 现在打电话给你的主机支持并询问他们 - 如何更改这个以便网站进程运行的用户可以读/写到文件夹;)

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM