首頁 > 後端開發 > C++ > 如何在 ASP.NET 中將 Base64 編碼的圖像字串轉換為圖像?

如何在 ASP.NET 中將 Base64 編碼的圖像字串轉換為圖像?

Mary-Kate Olsen
發布: 2025-01-05 19:58:41
原創
178 人瀏覽過

How to Convert a Base64 Encoded Image String to an Image in ASP.NET?

將 Base64 編碼的圖像字串轉換為圖像

您提供的 ASP.NET 程式碼片段嘗試從 URL 儲存圖像。但是,您遇到了一個問題,因為提供的 URL 是 Base64 編碼的字串,而不是直接的圖像 URL。

要解決此問題,您需要將 Base64 字串解碼為二進位數據,然後建立一個 Image 物件從二進位資料。以下是如何修改程式碼的範例:

protected void SaveMyImage_Click(object sender, EventArgs e)
{
    // Get the Base64 encoded image string from the hidden input field
    string base64ImageString = Hidden1.Value;

    // Convert the Base64 string to binary data
    byte[] imageBytes = Convert.FromBase64String(base64ImageString);

    // Create a memory stream from the binary data
    using (MemoryStream ms = new MemoryStream(imageBytes))
    {
        // Create an Image object from the memory stream
        Image image = Image.FromStream(ms);

        // Save the image to the specified location
        string saveLocation = Server.MapPath("~/PictureUploads/whatever2.png");
        image.Save(saveLocation);
    }
}
登入後複製

處理位圖異常的附加說明

如果遇到「GDI 中發生一般錯誤」嘗試解碼Base64 字元串時出現異常,可能是因為位元組代表點陣圖影像。若要解決此問題,請在處理記憶體流之前儲存影像:

// Create a memory stream from the binary data
using (MemoryStream ms = new MemoryStream(imageBytes))
{
    // Save the image to the memory stream
    image.Save(ms, System.Drawing.Imaging.ImageFormat.Png); // Replace "Png" with the appropriate image format

    // Create an Image object from the memory stream
    image = Image.FromStream(ms);

    // Dispose the memory stream
    ms.Dispose();
}
登入後複製

以上是如何在 ASP.NET 中將 Base64 編碼的圖像字串轉換為圖像?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板