ホームページ > バックエンド開発 > C++ > Base64 でエンコードされた画像文字列を ASP.NET の画像に変換する方法

Base64 でエンコードされた画像文字列を ASP.NET の画像に変換する方法

Mary-Kate Olsen
リリース: 2025-01-05 19:58:41
オリジナル
186 人が閲覧しました

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

Base64 でエンコードされた画像文字列を画像に変換する

指定された ASP.NET コード スニペットは、URL から画像を保存しようとします。ただし、指定された URL が画像の直接 URL ではなく、Base64 でエンコードされた文字列であるため、問題が発生しました。

これを解決するには、Base64 文字列をバイナリ データにデコードしてから、Image オブジェクトを作成する必要があります。バイナリデータから。コードを変更する方法の例を次に示します。

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);
    }
}
ログイン後にコピー

ビットマップ例外を処理するための追加の注意事項

「GDI で一般的なエラーが発生しました」が発生した場合Base64 文字列をデコードしようとしたときに例外が発生する場合は、バイトがビットマップ イメージを表すことが原因である可能性があります。これを解決するには、メモリ ストリームを破棄する前にイメージを保存します:

// 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();
}
ログイン後にコピー

以上がBase64 でエンコードされた画像文字列を ASP.NET の画像に変換する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート