我正在使用silverlight4應用程序,我有一個要求將字/ pdf文件存儲在數據庫(sqlserver)中,併成功地做到了這一點,現在我想用我的擴展名使用相應的應用程序打開存儲的文件。使用OOB,它可以打開文件或將文件存儲在用戶選擇的位置。任何人都可以幫我解決這個問題?如何在silverlight4中打開word/pdf?
在此先感謝。
我正在使用silverlight4應用程序,我有一個要求將字/ pdf文件存儲在數據庫(sqlserver)中,併成功地做到了這一點,現在我想用我的擴展名使用相應的應用程序打開存儲的文件。使用OOB,它可以打開文件或將文件存儲在用戶選擇的位置。任何人都可以幫我解決這個問題?如何在silverlight4中打開word/pdf?
在此先感謝。
我建議創建一個.aspx頁面中或HttpHandler的然後覆蓋ProcessRequest方法。
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應用程序將採取行動,就像正常的客戶端,並使得上面的代碼中使用
<HyperlinkButton Content="Click Me" NavigateUri="Download.aspx?id=fileid" />
context.Response.AppendHeader("content-disposition", "attachment;
告訴瀏覽器提示打開/保存對話框HTTP請求。
我希望這會起作用。
只需提供一個HTML超鏈接給你的word/pdf文件。只要用戶點擊鏈接,打開/保存對話框就會在客戶端瀏覽器打開。爲此,您可以使用如下所示的內容:
<HyperlinkButton Content="Click Me" NavigateUri="filep URL" />
我使用Acrobat Reader插件爲我進行顯示。它確實需要一種不同的方法,具體取決於應用程序是在瀏覽器內部還是外部運行(我檢查應用程序是否在瀏覽器內運行,並相應地更改顯示方式)。如果在瀏覽器內部運行,我使用IFrame覆蓋應用程序,如本文中所述:http://www.silverlightshow.net/items/Building-a-Silverlight-Line-Of-Business-Application-Part-6.aspx。否則,我使用WebBrowser控件。我有一個控制,可以在我的書附帶的源代碼中完成這一切,可從Apress網站下載:http://www.apress.com/9781430272076/。
希望這有助於...
克里斯
當用戶點擊鏈接。我已經從服務器獲取二進制數據,並且必須構造它,然後必須保存。正確的 – Prabhakaran
我會建議,在服務器中構建文件,然後將內容發送到客戶端。 – Maheep