gpt4 book ai didi

c# - 将 base 64 字符串转换为图像并保存

转载 作者:IT王子 更新时间:2023-10-29 03:34:47 25 4
gpt4 key购买 nike

这是我的代码:

protected void SaveMyImage_Click(object sender, EventArgs e)
{
string imageUrl = Hidden1.Value;
string saveLocation = Server.MapPath("~/PictureUploads/whatever2.png") ;


HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
WebResponse imageResponse = imageRequest.GetResponse();

Stream responseStream = imageResponse.GetResponseStream();

using (BinaryReader br = new BinaryReader(responseStream))
{
imageBytes = br.ReadBytes(500000);
br.Close();
}
responseStream.Close();
imageResponse.Close();

FileStream fs = new FileStream(saveLocation, FileMode.Create);
BinaryWriter bw = new BinaryWriter(fs);
try
{
bw.Write(imageBytes);
}
finally
{
fs.Close();
bw.Close();
}
}
}

最上面的 imageUrl 声明接受了一个 Base64 图像字符串,我想将它转换成图像。我认为我的代码集仅适用于“www.mysite.com/test.jpg”之类的图像,不适用于 Base64 字符串。有人有什么建议吗?谢谢!

最佳答案

这里是一个例子,你可以修改方法来接受一个字符串参数。然后使用 image.Save(...) 保存图像对象。

public Image LoadImage()
{
//data:image/gif;base64,
//this image is a single pixel (black)
byte[] bytes = Convert.FromBase64String("R0lGODlhAQABAIAAAAAAAAAAACH5BAAAAAAALAAAAAABAAEAAAICTAEAOw==");

Image image;
using (MemoryStream ms = new MemoryStream(bytes))
{
image = Image.FromStream(ms);
}

return image;
}

当字节表示位图时,可能会出现异常 A generic error occurred in GDI+.。如果发生这种情况,请在处理内存流之前保存图像(同时仍在 using 语句中)。

关于c# - 将 base 64 字符串转换为图像并保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5400173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com