[英]Save image from result convert base64 string in asp.net core
在我已经在网络服务中创建方法之前,这是我的编码
[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}
请帮助我,我该如何解决?
您的代码中有一个错误, DefaultImagePath
是一个目录,您必须为Save()
方法指定一个文件名才能实际工作。
例如:
// Example 1:
pic.Save("full/path/to/your/image.jpg");
// Example 2:
pic.Save(DefaultImagePath + "/yourimage.jpg");
可能你保存的时候遗漏了图片的格式,文件名应该是完整的(不是文件夹路径)
pic.Save(DefaultImagePath,ImageFormat.Png);
重写像
using (MemoryStream ms = new MemoryStream(bytes))
{
using (Image pic = Image.FromStream(ms))
{
pic.Save(DefaultImagePath+fileName.png, ImageFormat.Png);
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.