我正在尝试创建一个API,用于将图像保存在给定位置。
以下是我的代码
Image image = Image.FromFile(@"C:\Users\abc\Desktop\img-logo.jpg");
byte[] bytes = (byte[])(new ImageConverter()).ConvertTo(image, typeof(byte[]));
string str = Convert.ToBase64String(bytes);
Save_Application_Image("12004", str);
和API中的方法
public void Save_Application_Image(string staffCode , string bytearray)
{
try
{
byte[] bytes = Convert.FromBase64String(bytearray);
file_path = "~/uploads/" + file_name;
FileStream file = File.Create(HttpContext.Current.Server.MapPath(file_path));
file.Write(bytes, 0, bytes.Length);
file.Close();
}
catch(Exception ex)
{
logger.LogError(ex);
}
finally
{
}
}
必须从Android应用程序调用此api,因此我将收到两个字符串参数。
它正在完美地保存文件,但文件不可读。无法预览图像文件。
这是什么方法?
答案 0 :(得分:0)
我不确定ImageConverter
的工作原理,但我之前使用此功能将Image
转换为byte[]
:
Image image = Image.FromFile(@"C:\Users\abc\Desktop\img-logo.jpg");
using (var stream = new MemoryStream())
{
image.Save(stream);
string savedImage = Convert.ToBase64String(stream.ToArray());
Save_Application_Image("12004", str);
}