Maison >développement back-end >C++ >Comment convertir une chaîne Base64 en image et l'enregistrer ?

Comment convertir une chaîne Base64 en image et l'enregistrer ?

Barbara Streisand
Barbara Streisandoriginal
2025-01-05 16:49:08835parcourir

How to Convert a Base64 String to an Image and Save It?

Convertir une chaîne Base64 en image et l'enregistrer

Lorsque vous travaillez avec des images codées en Base64, il peut être difficile de les convertir en fichiers d'images réels. Pour résoudre ce problème, explorons un extrait de code modifié qui convertit efficacement une chaîne Base64 en image et l'enregistre pour le stockage :

protected void SaveMyImage_Click(object sender, EventArgs e)
{
    string imageUrl = Hidden1.Value;
    string saveLocation = Server.MapPath("~/PictureUploads/whatever2.png");

    HttpWebRequest imageRequest = (HttpWebRequest)WebRequest.Create(imageUrl);
    WebResponse imageResponse = imageRequest.GetResponse();

    Stream responseStream = imageResponse.GetResponseStream();
    byte[] imageBytes;

    using (var br = new BinaryReader(responseStream))
    {
        var imageString = br.ReadString();
        imageBytes = Convert.FromBase64String(imageString);
    }

    responseStream.Close();
    imageResponse.Close();

    Image image = Image.FromStream(new MemoryStream(imageBytes));

    FileStream fs = new FileStream(saveLocation, FileMode.Create);
    image.Save(fs, ImageFormat.Png);
    fs.Close();
}

Dans ce code modifié :

  1. Conversion Base64 : Nous extrayons la chaîne Base64 du flux de réponse en utilisant br.ReadString().
  2. Création d'un objet Image : Nous convertissons la chaîne Base64 en un tableau d'octets, qui est ensuite utilisé pour créer un objet Image.
  3. Sauvegarde d'image : Au lieu d'écrire les octets bruts dans un fichier, nous enregistrons l'objet image directement à l'emplacement souhaité à l'aide de image.Save(). Cela garantit que l'image est enregistrée dans le format spécifié (PNG dans ce cas).

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!

Déclaration:
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