Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menukar Rentetan Imej Berkod Base64 kepada Imej dalam ASP.NET?

Bagaimana untuk Menukar Rentetan Imej Berkod Base64 kepada Imej dalam ASP.NET?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-05 19:58:41169semak imbas

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

Menukar Rentetan Imej Berkod Base64 kepada Imej

Coretan kod ASP.NET yang anda berikan cuba menyimpan imej daripada URL. Walau bagaimanapun, anda telah menghadapi masalah kerana URL yang disediakan ialah rentetan berkod Base64, bukan URL imej langsung.

Untuk menyelesaikan masalah ini, anda perlu menyahkod rentetan Base64 ke dalam data binari dan kemudian mencipta objek Imej daripada data binari. Berikut ialah contoh cara anda boleh mengubah suai kod anda:

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);
    }
}

Nota Tambahan untuk Mengendalikan Pengecualian Peta Bit

Jika anda menghadapi "Ralat generik berlaku dalam GDI " pengecualian apabila cuba menyahkod rentetan Base64, ini mungkin kerana bait mewakili imej peta bit. Untuk menyelesaikan masalah ini, simpan imej sebelum melupuskan aliran memori:

// 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();
}

Atas ialah kandungan terperinci Bagaimana untuk Menukar Rentetan Imej Berkod Base64 kepada Imej dalam ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn