このシナリオでは、Base64 でエンコードされた画像文字列を画像に変換し、C# コードを使用して保存することを目的としています。現在のコード スニペットを提供しましたが、Base64 文字列ではなく、「www.mysite.com/test.jpg」などの通常の画像 URL を処理するように構成されています。
これに対処するために、次の代替アプローチを使用できます。 Base64 画像をデコードして保存するには:
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); }
ここで、LoadImage メソッドは Base64 でエンコードされた画像文字列を入力として受け取り、それを変換します。バイト配列に変換し、それを Image オブジェクトにデコードします。次に、SaveMyImage_Click イベント ハンドラーは、LoadImage メソッドを呼び出して Image オブジェクトを生成し、指定された場所に保存します。
このコードは、Base64 文字列が有効な画像形式を表すことを前提としていることに注意してください。文字列の形式が間違っているか無効な場合、例外がスローされる可能性があります。
以上がBase64 でエンコードされた画像文字列を C# でファイルに変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。