【问题标题】:Saving image to a folder in IIS localhost将图像保存到 IIS 本地主机中的文件夹
【发布时间】:2013-08-25 02:23:45
【问题描述】:

我必须将图像保存到位于“c:\inetpub\wwwroot\”并命名为“UploadedImages”的文件夹中。这是我的代码:

         public string SaveImage(string base64,int compno)
{
    string res = "";
    try
    {

        using (MemoryStream ms = new MemoryStream(Convert.FromBase64String(base64)))
        {
            using (Bitmap bm2 = new Bitmap(ms))
            {
                bm2.Save(Server.MapPath("~/UploadedImages/ID"+compno+".jpg"));
            }
        }
        res = "done";
    }
    catch (Exception ex) {
        res = ex.ToString();
    }
    return res;
}

但它会引发“GDI+ 中 System.Drawing.Image.Save 发生一般错误”异常。我究竟做错了什么?将图像本地保存为

时,此代码可以正常工作
       bm2.Save("D:Embasy\UploadedImages\ID"+compno+".jpg"));

我需要进行哪些更改才能将图像保存在 localhost 目录中?

【问题讨论】:

  • 检查这是否有帮助stackoverflow.com/questions/7438194/…
  • 不,它没有帮助我,因为我没有使用任何 goDAddy 帐户,甚至不知道它是什么
  • 这不是关于 godaddy(互联网服务提供商),而是关于 System.Drawing 类。

标签: c# .net iis localhost image-uploading


【解决方案1】:

您不会相信这一点 - 运行 v1.1 的站点设置了一个虚拟目录,该目录映射到保存图像的目录 - 一切正常。

v2.0 站点也有相同的虚拟目录名称,但物理路径不同——我将路径更改为指向与 v1.0 站点相同的目录,现在代码可以工作了。

简而言之——你对“路径必须存在”是正确的。

System.Drawing 命名空间中的类不支持在 Windows 或 ASP.NET 服务中使用。尝试从这些应用程序类型之一中使用这些类可能会产生意想不到的问题,例如服务性能下降和运行时异常。有关受支持的替代方案,请参阅 Windows 映像组件。

请参考此链接

http://msdn.microsoft.com/en-us/library/xs6ftd89.aspx

【讨论】:

  • 所以我不能在服务中使用它,但我可以在我网站的网页中使用这种方法吗?我的意思是使用aspx页面?这种方法确实将图像保存在我的本地磁盘“D”上,没有任何问题。有什么不同吗?
  • 是的,您可以保存。请参考我对 d 的回答:
【解决方案2】:

当您使用 Server.Mappath

bm2.Save(Server.MapPath("~/UploadedImages/ID"+compno+".jpg"));

"~(tield)" :指向项目/应用程序根文件夹 c:\inetpub\wwwroot\yourproject

然后找到剩余的路径 /UploadedImages 然后创建 ID1.jpg。

但是您的图像文件夹“UploadImages”存在于 d: 不在 c:\inetpub\wwwroot\yourproject 中

如果你想在 D: 中存在你的图像文件夹,那么你应该 创建 虚拟目录,然后您需要应用相关的路径

【讨论】:

  • “C”中没有我的文件夹。我在“D”中创建了另一个同名文件夹以检查此代码 bm2.Save("D:Embasy\UploadedImages\ID"+compno+".jpg"));
【解决方案3】:

我的问题实际上是每次我发布网站时,我也替换了“UploadedImages”文件夹,因此权限被更改。因此,在更改其权限并创建“每个人”组并授予其完全权限后,我没有再次替换该文件夹。现在代码运行良好:)

【讨论】:

    猜你喜欢
    • 2014-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-22
    • 1970-01-01
    • 2021-11-18
    • 1970-01-01
    相关资源
    最近更新 更多