2011-10-19 13 views
3

私はデータベースに保存したファイルを開く最も良い方法を考え出しています。ファイルは、データベースのnvarbinaryフィールドにバイト配列として格納されています。現在、ファイルを開くときに、ASP.NET Webページを使用して変数を渡し、ファイルストリームをページに書き出します。これはSilverlightアプリケーションのブラウザー版を使用するとうまく動作しますが、ブラウザー外ではdomへのアクセス権がないためブラウザーウィンドウを開くことができません。ブラウザからSilverlightのPDFやその他の文書を開く

ブラウザウィンドウを呼び出さずにSilightrightからbytearrayを開くにはどうすればよいですか? bytearrayとファイルタイプをSilverlightアプリに問題なく渡すことができます。私は一度それを表示する方法を知りません。

ありがとう!

答えて

3

Windowsをターゲットにしている場合(完全信頼は有効でMacでは使用できません)、ファイルをディスク(独立したストレージまたはマイドキュメント)に書き込んだ後、 WScript.Shell OSにファイルを開くCOMオブジェクト。

ファイルにバイトストリームを保存し、ファイルの場所を持っていたら、あなたが行うことができます:

using (dynamic shell = AutomationFactory.CreateObject("WScript.Shell")) 
{ 
    shell.Run(fileLocation); //works similar to start -> run -> filename 
} 

既存のASPページを活用したい場合は、shell.RunとにそのURLを渡すことができますOSはユーザーのデフォルトブラウザを使用してそのページを開きます。

Macでは、ファイルを自分のユーザーディレクトリに保存し、手動でファインダーでナビゲートしてダブルクリックすることができます。

関連する問題