Heim >Backend-Entwicklung >C++ >Wie konvertiere ich eine Base64-codierte Bildzeichenfolge in eine Datei in C#?
In Ihrem Szenario möchten Sie eine Base64-codierte Bildzeichenfolge in ein Bild konvertieren und es mit C#-Code speichern. Sie haben Ihr aktuelles Code-Snippet bereitgestellt, es ist jedoch so konfiguriert, dass es normale Bild-URLs wie „www.mysite.com/test.jpg“ anstelle von Base64-Zeichenfolgen verarbeitet.
Um dieses Problem zu beheben, finden Sie hier einen alternativen Ansatz, der dies ermöglicht Sie können Base64-Bilder dekodieren und speichern:
public Image LoadImage(string base64Image) { // Convert the Base64 string to a byte array byte[] bytes = Convert.FromBase64String(base64Image); Image image; using (MemoryStream ms = new MemoryStream(bytes)) { // Decode the image from the memory stream and store it in the Image object image = Image.FromStream(ms); } return image; } protected void SaveMyImage_Click(object sender, EventArgs e) { // Retrieve the Base64 image string from your input string base64Image = Hidden1.Value; // Generate an Image object from the Base64 string Image image = LoadImage(base64Image); // Specify the desired file path and name string saveLocation = Server.MapPath("~/PictureUploads/my_image.png"); // Save the decoded image image.Save(saveLocation); }
Hier nimmt die LoadImage-Methode eine Base64-kodierte Bildzeichenfolge als Eingabe und konvertiert sie in ein Byte-Array und dekodiert es in ein Image-Objekt. Der SaveMyImage_Click-Ereignishandler ruft dann die LoadImage-Methode auf, um das Image-Objekt zu generieren und am angegebenen Speicherort zu speichern.
Beachten Sie, dass dieser Code davon ausgeht, dass die Base64-Zeichenfolge ein gültiges Bildformat darstellt. Wenn die Zeichenfolge fehlerhaft oder ungültig ist, wird möglicherweise eine Ausnahme ausgelöst.
Das obige ist der detaillierte Inhalt vonWie konvertiere ich eine Base64-codierte Bildzeichenfolge in eine Datei in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!