从图像转换为 Base64 returns 错误
Converting from Image to Base64 returns Error
我正在尝试将图像转换为 base64 字符串,这样我就可以保存在数据库的列中。现在我看到这个方法
public string ImageToBase64(Image image,System.Drawing.Imaging.ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
// Convert Image to byte[]
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
它在 ASP.NET 中给我一个错误,说它不包含 Save 的定义,询问我是否缺少程序集引用。当我像这样在主要方法中调用它时
string base64ImageString = ImageToBase64(img, System.Drawing.Imaging.ImageFormat.Jpeg);
其中的主要代码现在是这样的:
sigObj.SetImageFileFormat(0);
sigObj.SetImageXSize(500);
sigObj.SetImageYSize(150);
sigObj.SetImagePenWidth(8);
sigObj.SetJustifyX(5);
sigObj.SetJustifyY(5);
sigObj.SetJustifyMode(5);
System.Drawing.Image img = sigObj.GetSigImage();
base64ImageString = ImageToBase64(img, System.Drawing.Imaging.ImageFormat.Jpeg);
它给了我另一个有趣的错误,看起来像这样
Cannot convert from System.Drawing.Image to System.Web.UI.Web.Controls.Image
请问我到底做错了什么。我在 ASP.NET webform
上执行此操作
您的方法声明与 System.Drawing.Image 和 System.Web.UI.Controls 发生冲突。像
一样使用它
public string ImageToBase64(System.Drawing.Image image,System.Drawing.Imaging.ImageFormat format)
最后一个错误告诉您确切的问题所在。
在代码文件中您引用了 System.Web.UI.Web.Controls.Image
,因此在方法签名中您对 Image image
的引用实际上是指那个包。
您可以将鼠标悬停在参考上进行测试,您应该会看到上面的完整路径。
您实际需要的参考(包含您尝试使用的 Save()
方法的参考是 System.Drawing.Image
。
我正在尝试将图像转换为 base64 字符串,这样我就可以保存在数据库的列中。现在我看到这个方法
public string ImageToBase64(Image image,System.Drawing.Imaging.ImageFormat format)
{
using (MemoryStream ms = new MemoryStream())
{
// Convert Image to byte[]
image.Save(ms, format);
byte[] imageBytes = ms.ToArray();
// Convert byte[] to Base64 String
string base64String = Convert.ToBase64String(imageBytes);
return base64String;
}
}
它在 ASP.NET 中给我一个错误,说它不包含 Save 的定义,询问我是否缺少程序集引用。当我像这样在主要方法中调用它时
string base64ImageString = ImageToBase64(img, System.Drawing.Imaging.ImageFormat.Jpeg);
其中的主要代码现在是这样的:
sigObj.SetImageFileFormat(0);
sigObj.SetImageXSize(500);
sigObj.SetImageYSize(150);
sigObj.SetImagePenWidth(8);
sigObj.SetJustifyX(5);
sigObj.SetJustifyY(5);
sigObj.SetJustifyMode(5);
System.Drawing.Image img = sigObj.GetSigImage();
base64ImageString = ImageToBase64(img, System.Drawing.Imaging.ImageFormat.Jpeg);
它给了我另一个有趣的错误,看起来像这样
Cannot convert from System.Drawing.Image to System.Web.UI.Web.Controls.Image
请问我到底做错了什么。我在 ASP.NET webform
上执行此操作您的方法声明与 System.Drawing.Image 和 System.Web.UI.Controls 发生冲突。像
一样使用它public string ImageToBase64(System.Drawing.Image image,System.Drawing.Imaging.ImageFormat format)
最后一个错误告诉您确切的问题所在。
在代码文件中您引用了 System.Web.UI.Web.Controls.Image
,因此在方法签名中您对 Image image
的引用实际上是指那个包。
您可以将鼠标悬停在参考上进行测试,您应该会看到上面的完整路径。
您实际需要的参考(包含您尝试使用的 Save()
方法的参考是 System.Drawing.Image
。