获取的图像路径转换为使用基地64串
问题描述:
我有一个形象在我的图片文件夹获取的图像路径转换为使用基地64串
,我想这个图像传递到Image对象,所以我可以将其转换为一个基地64串。这将被传递给客户端并插入img元素的src中。
问题是我不知道如何从磁盘获取图像到图像对象。
Image img = Image.FromFile(@"..Images\no_image.jpg"); // doesn't work
string image = Convert.ToBase64String(imageToByteArray(img));
public byte[] imageToByteArray(Image imageIn)
{
MemoryStream ms = new MemoryStream();
imageIn.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
return ms.ToArray();
}
答
如果Web项目的工作,你应该使用:
Image.FromFile(Server.MapPath("~/Images/no_image.jpg"))
否则,如果它是一个WinForm/WPF /控制台应用程序,使用:
Image.FromFile(System.IO.Path.Combine(Environment.CurrentDirectory, "Images", "no_image.jpg"))
+0
服务器的名称空间是什么。我无法通过智能识别它。 – user1186050
+1
服务器是Controller中的一个属性,所以在控制器操作中,您可以在控制器外部使用'this.Server.MapPath',您可以使用'System.Web.HttpContext.Current.Server.MapPath' – SynerCoder
你尝试' Image.FromFile(使用Server.Mappath( “/图片/ no_image.jpg”))'? – eitamal
你为什么要把它作为一个字符串传递?它的一张照片。 – BugFinder
尝试使用'Server.MapPath(“〜/ Images/no_image.jpg”)'。另外:“不起作用”永远不是有用的描述,总是说它不起作用,例如发生什么错误。 –