Как открыть слово / PDF в Silverlight4? - PullRequest
0 голосов
/ 09 декабря 2011

Я использую приложение silverlight4, у меня есть требование сохранить файл word / pdf в базе данных (sqlserver), и я успешно это сделал, и теперь я хочу открыть сохраненный файл, используя соответствующее приложение с моим расширением. Iamне используя OOB, можно ли открыть файл или сохранить файл в выбранном пользователем месте. Может ли кто-нибудь помочь мне с этим, пожалуйста?

Заранее спасибо.

Ответы [ 3 ]

1 голос
/ 09 декабря 2011

Я бы предложил создать одну страницу .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 будет работать так же, как обычный клиент, и отправляет http-запрос, используя

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

в коде выше

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

сообщает браузеру запросить диалог OPEn / Save.

Надеюсь, это сработает.

0 голосов
/ 09 декабря 2011

Я использую плагин 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/.

Надеюсь, это поможет ...

Chris

0 голосов
/ 09 декабря 2011

Просто предоставьте HTML-ссылку на ваш файл word / pdf.Как только пользователь нажимает на ссылку, в браузере клиента открывается диалог открытия / сохранения.Для этого вы можете использовать что-то вроде этого:

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