c# - 从结果中保存图像在 asp.net 核心中转换 base64 字符串
问题描述
在我已经在 web 服务中创建方法之前,这是我的编码
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public void Base64ToImage(string imagestr)
{
DbAccessConnection conn = getActiveConnection();
try
{
beginTransaction(conn);
string DefaultImagePath = HttpContext.Current.Server.MapPath("~/c:/image");
byte[] bytes = Convert.FromBase64String(imagestr);
using (MemoryStream ms = new MemoryStream(bytes))
{
Image pic = Image.FromStream(ms);
pic.Save(DefaultImagePath);
}
commitTransaction(conn);
}
catch (Exception ex)
{
rollbackTransaction(conn);
Responder.writeResponse(false, ex.Message);
}
}
当我在我的网络服务中执行方法 Base64ToImage 时出现消息错误这是一个消息错误
{"isSuccess":false,"resultMessage":"A generic error occurred in GDI+.","data":null}
请帮助我,我该如何解决?
解决方案
可能你在保存的时候错过了图片的格式,文件名应该是完整的(不是文件夹路径)
pic.Save(DefaultImagePath,ImageFormat.Png);
重写喜欢
using (MemoryStream ms = new MemoryStream(bytes))
{
using (Image pic = Image.FromStream(ms))
{
pic.Save(DefaultImagePath+fileName.png, ImageFormat.Png);
}
}
推荐阅读
- python - 如何获取每个嵌套列表的第 3 个元素,但如果第 3 个不存在则放置 null?
- javascript - 如何使数据库中的标题列表可点击
- java - 使用 spring-amqp,从 PublisherReturn 回调内部向 rabbitmq 发送消息的最佳方式是什么?
- github - 强制 github 页面使用 _site 文件夹
- python - 使用循环替换 DataFrame 列的多个值(异常值处理)
- mongodb - 无法使用 express 向 mongodb 插入数据
- c# - 点击任意位置触发按钮
- python - 无法使用 selenium 在 Outlook 上查找“帐户已存在”错误消息
- c# - C# DLL/参考版本冲突
- react-native - react native 使用原语和flutter创建所有元素并控制每个像素的优缺点是什么