我有一个字符串数据网格,它是远程Web服务器上文件的名称。
所以我的问题是,当用户点击datagrid中的一行时,Web浏览器应该下载相应的文件。您通常浏览网站并单击文件链接,然后在浏览器中打开并开始下载。
在MSDN上查找示例代码,但我找不到任何可以执行此操作的内容。
编辑:也许我需要澄清一下。我不想将文件下载到Silverlight应用程序中。我希望用户将文件下载到他们选择的本地机器上。
答案 0 :(得分:0)
你可以尝试这些方面的东西
WebClient webClient = new WebClient(); webClient.DownloadProgressChanged + = new DownloadProgressChangedEventHandler(webClient_DownloadProgressChanged); webClient.OpenReadCompleted + = new OpenReadCompletedEventHandler(webClient_OpenReadCompleted); webClient.OpenReadAsync(new Uri(“....”,UriKind.Relative));
有关详细信息,请参阅this
答案 1 :(得分:0)
这就是诀窍。
只需要确保浏览器中没有禁用弹出窗口,但这对我来说没问题:
Uri downloadLink = new Uri("http://www.google.com/intl/en_com/images/srpr/logo1w.png", UriKind.Absolute);
// try to download the file via browser
System.Windows.Browser.HtmlPage.Window.Navigate(downloadLink, "_blank", "height=300,width=600,top=100,left=100");