Heim > Backend-Entwicklung > C++ > Wie konvertiere ich eine Base64-codierte Bildzeichenfolge in ein Bild in ASP.NET?

Wie konvertiere ich eine Base64-codierte Bildzeichenfolge in ein Bild in ASP.NET?

Mary-Kate Olsen
Freigeben: 2025-01-05 19:58:41
Original
168 Leute haben es durchsucht

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

Konvertieren einer Base64-codierten Bildzeichenfolge in ein Bild

Ihr bereitgestellter ASP.NET-Codeausschnitt versucht, ein Bild von einer URL zu speichern. Es ist jedoch ein Problem aufgetreten, da es sich bei der bereitgestellten URL um eine Base64-codierte Zeichenfolge und nicht um eine direkte Bild-URL handelt.

Um dieses Problem zu beheben, müssen Sie die Base64-Zeichenfolge in Binärdaten dekodieren und dann ein Bildobjekt erstellen aus den Binärdaten. Hier ist ein Beispiel, wie Sie Ihren Code ändern können:

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);
    }
}
Nach dem Login kopieren

Zusätzliche Hinweise zur Behandlung von Bitmap-Ausnahmen

Wenn Sie auf die Meldung „In GDI ist ein allgemeiner Fehler aufgetreten“ stoßen Ausnahme beim Versuch, die Base64-Zeichenfolge zu dekodieren, kann dies daran liegen, dass die Bytes ein Bitmap-Bild darstellen. Um dieses Problem zu beheben, speichern Sie das Bild, bevor Sie den Speicherstream entsorgen:

// 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();
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Base64-codierte Bildzeichenfolge in ein Bild in ASP.NET?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage