2009-05-15 5 views
0

SQL Serverからイメージを取得して、ASP.NETアプリケーションで表示したいと考えています。私は、SQL Serverから取得したイメージをサーバーのフォルダに書き留めて、そのパスを表示することができると考えています。他に良い方法はありますか?SQL Serverからイメージを取得してASP.NETアプリケーションに表示する

私は、オーディオおよびビデオファイルと同じ問題を抱えている(私はこれらのオーディオおよびビデオファイルを再生するためにはシルバーライトを使用することができますか?)

私の心配は、私は、これらのファイル(画像を保存したくないということで、オーディオおよび動画)を表示することができます。

答えて

3

クエリ文字列パラメータに表示しようとしている項目のIDを取得するカスタムHTTPハンドラを記述することができます。

このハンドラは、SQL Serverからデータを取得し、ファイルをダウンロードするのと同じように返します。このpostには手順があります。

「ファイル」からのSilverlightストリーミングの機能についてはわかりませんが、Silverlight Streaming Serviceを使用する必要があります。

+1

この質問に対する他の良い回答もたくさんあります。 http://stackoverflow.com/questions/386142/ihttphandler-example-required-for-image-type-files-c-asp-net/386171#386171 –

0

良い方法がありますか? IMHO、そうです。イメージファイルをファイルとして保存します。それがファイルシステムの目的であり、あなたはデータベースを見て回ることには関わりません。

私はこれまで、MySQLを使用して画像を保存し、PHPで取得しましたが、その解決策はメンテナンスの観点から本当にすごく早くなってきました。それは、何らかの方法でデータを保存する必要があり、最も効率的な方法が最も簡単であるという事実になります。

に保存する必要がある場合は、データベースにクエリを行い、返されたBLOBをブラウザに直接ストリームする汎用アクセサーページ(myImage.aspxなど)を使用します。あなたのimgタグは、おそらく、あなたは、SQL Server 2008を使用する場合、私はあなたがFILESTREAMとしてこれらのオブジェクトを格納することができると信じて

<img src="/img/myImage.aspx?imgId=123456" <other tag data> /> 
+0

これらの画像にはWCFを添付してアクセスするので、SQL Server – VansFannel

+0

に保存する必要があります。オーディオとビデオファイルはどうですか? – VansFannel

+0

ビットを持っていれば、どこから来たのか、どんなフォーマットであっても、いつでも好きな場所に保存できます。それらをデータベースにダンプすることは可能な解決策ですが、それは単なるファイルです。なぜファイルシステムを使用しないのですか? – ZombieSheep

0

のように見える必要があるでしょう、そしてあなたは、ファイルシステム上のファイルへのパスを取得することができます。そのパスがIIS経由でマップされるようにする必要があります。そのため、URLに変換するのが現実的です。

0

あなたのイメージソースは、blah.aspxで

<img src="blah.aspx?id=123" /> 

ことデシベルから画像データを取得し、適切なコンテンツタイプを設定して、ブラウザに送信するResponse.BinaryWriteを使用することができます。

0

すべてHI、私はこのためのソリューションは、以下のリンクに存在していると思います:mysqlデータベースのために、このソリューション

http://www.codeproject.com/KB/aspnet/asp_net_and_mysql.aspx

http://www.codeproject.com/KB/aspnet/image_asp.aspx

とも好適MSSQLデータベースで動作するように変更することができ同じように。

+0

しかし、私は寸法に疑問を持っています。私は固定された高さと幅で画像を表示する必要があるという意味で。 誰でもこのことを教えてもらえますか? –

関連する問題