[英]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的定義,詢問我是否缺少Assembly引用。 當我在這樣的主要方法中調用它時
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()
方法Save()
是System.Drawing.Image
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.