2012-03-23 12 views
4

私はasp.net WebサイトにWebサービスからバイト配列イメージをロードしました。 Webサービスを実行するとすぐにWebページに表示する必要があります。バイトイメージをasp.netページに動的に表示する方法は?

あなたが探しているものジェネリックハンドラ

void Button2_Click1(object sender, EventArgs e) 
{ 

    this.verifyTemplates(); 
    byte[] userImg; 
    try 
    { 

     matchTemp.templateService hs = new matchTemp.templateService(); 
     bool s1 = hs.matchTemplates(template, out userID, out userName, out userImg); 
// userImg is the byte image i need to display 

    } 
    catch(Exception exc) 
    { 
    // vLabel.Text = exc.Message; 
    } 
} 
+2

コードを投稿してください。 – Oded

+0

@oded:ok done :) –

+1

画像データはどこから来ていますか? 「汎用ハンドラ」コードはどこにありますか? Clickイベントハンドラで正確に何をしようとしていますか? – Oded

答えて

4

に[]画像を、私は一般的なハンドラを使用して試してみましたが、バイトを渡す方法がなかったので、私はそれを行うことができませんでしたがData URLです。あなたは、ビューで

string imageBase64 = Convert.ToBase64String(userImg); 
string imageSrc = string.Format("data:image/gif;base64,{0}", imageBase64); 

(必要に応じて画像の種類を変更する)このようにバイト配列のBASE64を取得することができます:

<img src='"<%=imageSrc%>"' /> 

ます場合、これは、以前のIE 7で動作したりしませんそれらをサポートする必要がある場合は、MHTMLを参照してください。

+1

Base64に変換すると、エンコードされた値の約30%が追加されますが、これはオプションではない可能性があります。 – Oded

+0

ありがとうたくさん:)私が探していたもの:D –

関連する問題