2012-02-13 8 views
1

私は、Silverlightのプロジェクトから私のSQL Serverデータベースにいくつかの画像を保存しようとしている、と私はいくつかの助けが必要なので、私の質問は以下のとおりです。SilverlightアプリケーションからSQL Serverデータベースにイメージを格納する方法は?

それを格納するためのURLからバイナリに画像を変換する方法
  1. 私のデータベースに保存してください(URLだけでなく、すべての画像を保存してください)

  2. バイナリタイプで渡されていないソリューションはありますか? (SQL Serverのイメージタイプが存在するため)

  3. 最後に、イメージが格納されると、Silverlightから読み取る方法は?

ありがとうございます。

+0

http://blog.farreachinc.com/2011/06/07/storing-files-in-sql-server-using-wcf-ria-services-and-silverlight-part-1/ – iSun

+0

使用しないでくださいSQL Serverの 'IMAGE'型はもはやなくなりました。SQL Server 2005以降、廃止予定です。代わりに' VARBINARY(MAX) 'を使用してください。 –

答えて

0

http://www.pitorque.de/MisterGoodcat/post/Storing-images-in-SQL-Server-with-RIA-Services.aspx

ローカルディスクから画像を選択し、それらをデータベースに格納されているサービスにアップロードしたりすることができ、ユーザのように完全に機能しています。ユーザーは、データベース内のすべてのイメージのリストを取得し、それらをクライアントにダウンロードして監視することができ、既存のイメージをデータベースから削除することができます。

3

を参照してくださいFROMSTREAM画像クラスとメソッドを使用してC#でのSilverlightで画像を取得します。 System.Drawing.Imageをバイト配列に変換し、バイト配列をデータベースに保存します。

System.Drawing.Image image; 
System.IO.MemoryStream imageStream; 
byte[] imageBytes; 

// image = your image object 
imageStream = new System.IO.MemoryStream(); 
image.Save(imageStream, System.Drawing.Imaging.ImageFormat.Jpeg); // Use whatever format your image is. 
imageBytes = imageStream.ToArray(); 
// Save imageBytes to a DB column of type VARBINARY(MAX) 

はバック System.Drawing.Imageオブジェクトにバイト配列からデータを取得 System.Drawing.Image.FromStream(System.IO.Stream stream)を使用します。

+0

SL4では、画像コントロールがそのメソッドの1つとして保存されていないようです –

関連する問題