2011-12-09 17 views
0

私はsilverlight4 appを使用しています。言葉/ pdfファイルをデータベース(sqlserver)に保存したいと思っていました。これで成功しました。拡張機能を使って対応するアプリケーションを使って保存しました。 OOBを使用すると、ファイルを開いたり、ユーザーが選択した場所にファイルを保存したりすることができます。silverlight4でword/pdfを開く方法は?

ありがとうございます。

答えて

1

に役立ちます。

public void ProcessRequest(HttpContext context) 
{ 
    //database table or PDF/word file 
    System.IO.MemoryStream mstream = GetData(); 
    //Convert the memorystream to an array of bytes. 
    byte[] byteArray = mstream.ToArray();   

    string fileName= "test.pdf"; 
    context.Response.Clear(); 

    context.Response.AppendHeader("content-disposition", "attachment; filename=" + fileName); 
    context.Response.ContentType = "application/octet-stream"; 
    context.Response.BinaryWrite(byteArray); 
    context.Response.Flush(); 
    context.Response.End(); 
} 

あなたのSilverlightアプリケーションでは、通常のクライアントのように機能し、

context.Response.AppendHeader("content-disposition", "attachment; 

を開く/保存ダイアログの入力を要求するようにブラウザに指示します上記のコードで

<HyperlinkButton Content="Click Me" NavigateUri="Download.aspx?id=fileid" /> 

を使用してHTTP要求を作成します。

私はこれがうまくいくと思います。

0

word/pdfファイルにHTMLハイパーリンクを入力するだけです。ユーザーがリンクをクリックするとすぐに、クライアントブラウザで「開く/保存」ダイアログが開きます。このためには次のようなものを使用できます:

<HyperlinkButton Content="Click Me" NavigateUri="filep URL" /> 
+0

ユーザーがlink.iをクリックしたときにサーバーからバイナリデータを取得し、それを構築してsave.rightを持っている必要があります – Prabhakaran

+0

私は、サーバーにファイルを構築してからクライアントに送信することをお勧めします。 – Maheep

0

私は表示用にAcrobat Readerプラグインを使用しています。アプリケーションがブラウザの内部または外部で実行されているかどうかによって、別の方法が必要です(アプリケーションがブラウザ内で実行されているかどうかを確認し、それに応じて表示方法を変更します)。ブラウザ内で実行している場合は、この記事で説明しているように、アプリケーションをIFrameにオーバーレイします:http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-6.aspxそれ以外の場合は、Webブラウザーコントロールを使用します。私は、あなたのために、私の本に付属のソースコードの中でこれをすべて行うコントロールを持っています。これはApressのWebサイトからダウンロードできます:http://www.apress.com/9781430272076/

希望これは私がprocessRequestメソッドをオーバーライドし、その後1つの.aspxページを作成することをおすすめたりHTTPHandlerのでしょう...

クリス

関連する問題