簡體   English   中英

從圖像轉換為Base64返回錯誤

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM