我找到了以下代码,但无法理解我应该通过ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
传递什么。
我需要一个FileUpload工具将图片上传到系统并将其传递给ImageToBase64
供参考,我的代码是
public string ImageToBase64(Image image, System.Drawing.Imaging.ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
我尝试过ImageToBase64(FileUpload.FileBytes, "Image/PNG")
但是我遇到了语法错误。我可以使用这段代码的正确语法是什么?
答案 0 :(得分:6)
因为该函数接受Image和ImageFormat类型的参数,并且您传入byte []和string。
您不需要mime类型,只需要
var base64String = Convert.ToBase64String(FileUpload.FileBytes);
答案 1 :(得分:0)
如方法签名所述,第二个参数的类型为ImageFormat。这是一个枚举,所以你可以像这样使用它:
/// create or load a bitmap
var bitmap = new Bitmap(.....);
var base64string = ImageToBase64(bitmap,ImageFormat.Bmp);
在这种情况下,ImageFormat
参数显然用于告诉Save()
方法您想要数据的格式(jpeg,png,bmp等)。 MIME类型不足,并且实际上并不属于此上下文,因为此方法不是特定于Web的。