如何在位图中加载具有相对路径的图像

Posted

技术标签:

【中文标题】如何在位图中加载具有相对路径的图像【英文标题】:how to load image with relative path in bitmap 【发布时间】:2011-10-14 21:16:41 【问题描述】:

我想从 asp.net 上传位图对象中的图像,图像在

下的位置
/uploadedimages/sampleimage.jpg

每当我使用下面的代码在位图中加载图像时,我都会收到错误消息说参数无效。

Bitmap b = new Bitmap("/uploadedimages/sampleimage.jpg") // this path is coming from database holded in variable

我尝试将路径中的斜杠替换为“\”仍然不起作用。

谁能告诉我错误的原因和可能的解决方法。

【问题讨论】:

【参考方案1】:

使用Server.MapPath。使用波浪字符 ~ 指定 Web 应用程序根是一个很好的做法。

Bitmap b = new Bitmap(Server.MapPath("~/uploadedimages/sampleimage.jpg"));

【讨论】:

【参考方案2】:

如果uploadedimages 目录在您的App_Data 文件夹中,那么您应该将App_Data 绝对路径附加到您的路径:

Bitmap b = new Bitmap(Path.Combine(Server.MapPath("~/App_Data"), "/uploadedimages/sampleimage.jpg"));

【讨论】:

【参考方案3】:

你可以使用server.MapPath,传递下面给出的Url字符串。

 Server.MapPath("../images/image.gif")

【讨论】:

以上是关于如何在位图中加载具有相对路径的图像的主要内容,如果未能解决你的问题,请参考以下文章