2011-12-13 35 views
0

ウェブページでvarbinary(max)に保存されている画像を表示するにはどうすればよいですか?私は周りを見回して、多くの人がイメージサーバーコントロールを使用することをお勧めしますが、私が表示しているイメージは可変であるため、コントロールをどのように使用できるかわかりません。SQL Serverの画像をC#でWebページに表示する方法は?

また、エクステンションのサイズを変更して確認する必要があります。

+0

データベースにどのようにアクセスしていますか? – alexn

答えて

0

イメージ(ashx)用の汎用ハンドラを使用していますが、そのハンドラではresponse.binarywriteを使用します。

1

Hereは、あなたが達成しようとしているもので始めるべき良いリンクです。

+0

+1。完全に文書化された記事への良いリンクは、それを段階的に行う方法を示しています。 – David

1

通常、DBからレスポンスストリームにバイトを直接書き込むページを作成し、レスポンスコンテンツタイプを適切なイメージフォーマットに設定します。例:

Response.Write(myDbByteArray); 
Response.ContentType = "image/png"; 
Response.End(); 

その後、あなたは、単にあなたのURLへの画像(でも、基本的なタグ)を指します:

<img src="Path/ToMyPage.aspx?imgId=1" alt="Some Image" /> 

限り、あなたは右のコンテンツタイプを返すように、イメージタグのソースがあることも問題d​​oesntのaspxページ。

1

Tejsはあなたにその要点を与えます(つまり、画像をレスポンスストリームに書き込む)が、興味深いものを残してしまった。この記事Download and Upload images from SQL Server via ASP.Net MVCは、効果的なストリーミングセマンティクスと中間ファイルを使用してSQL Serverとの間でイメージを転送する方法を示しています。大量のメモリ消費につながり、拡大縮小しないため、画像をbyte[]に入れないようにする必要があります。

関連する問題