将结果中的图像保存为 asp.net 核心中的 base64 字符串
Save image from result convert base64 string in asp.net core
在我已经在 webservice 中创建方法之前,这是我的编码
[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);
}
}
在我已经在 webservice 中创建方法之前,这是我的编码
[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);
}
}