Maison > développement back-end > C++ > Comment convertir une chaîne d'image codée en Base64 en une image dans ASP.NET ?

Comment convertir une chaîne d'image codée en Base64 en une image dans ASP.NET ?

Mary-Kate Olsen
Libérer: 2025-01-05 19:58:41
original
186 Les gens l'ont consulté

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

Conversion d'une chaîne d'image codée en Base64 en image

L'extrait de code ASP.NET fourni tente d'enregistrer une image à partir d'une URL. Cependant, vous avez rencontré un problème car l'URL fournie est une chaîne codée en Base64, et non une URL d'image directe.

Pour résoudre ce problème, vous devez décoder la chaîne Base64 en données binaires, puis créer un objet Image. à partir des données binaires. Voici un exemple de la façon dont vous pouvez modifier votre code :

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);
    }
}
Copier après la connexion

Remarques supplémentaires pour la gestion des exceptions bitmap

Si vous rencontrez un message « Une erreur générique s'est produite dans GDI » exception lorsque vous essayez de décoder la chaîne Base64, cela peut être dû au fait que les octets représentent une image bitmap. Pour résoudre ce problème, enregistrez l'image avant de supprimer le flux mémoire :

// 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();
}
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal