在WCF服务c#中将base64字符串转换为图像
本文关键字:字符串 转换 图像 base64 中将 WCF 服务 | 更新日期: 2023-09-27 18:13:41
我有web应用程序,将图像转换为base64字符串。将它传递给WCF服务,服务方法将把字符串转换回png
图像。
客户端(Convert Image to Base 64)
public static string ImageToBase64(string path)
{
using (Image image = Image.FromFile(path))
{
using (MemoryStream m = new MemoryStream())
{
image.Save(m, image.RawFormat);
byte[] imageBytes = m.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
}
WCF服务方法
CommonDataManager.Base64ToImage(designImage).Save(designQuotePath + "/" + "Request_Quote_" + objQuote.Customer_Id.ToString(), ImageFormat.Png);
public static Image Base64ToImage(string base64String)
{
Image image = null;
try
{
byte[] imageBytes = System.Convert.FromBase64String(base64String);
using (MemoryStream ms = new MemoryStream(imageBytes, 0, imageBytes.Length))
{
image = Image.FromStream(ms, true);
}
}
catch (Exception ex)
{
LogManager.LogException(ex, "Base64ToImage");
}
return image;
}
问题:
- 输出为正常文件,而不是
- 在发送base64字符串给wcf服务方法作为参数之前,有什么特殊的东西需要检查吗?
.png
文件。您需要添加扩展名。更新:
CommonDataManager.Base64ToImage(designImage).Save(designQuotePath + "/" +
"Request_Quote_" + objQuote.Customer_Id.ToString(), ImageFormat.Png);
CommonDataManager.Base64ToImage(designImage).Save(designQuotePath + "/" +
"Request_Quote_" + objQuote.Customer_Id.ToString() + ".png", ImageFormat.Png);