silverlight文件下载方法
生活随笔
收集整理的這篇文章主要介紹了
silverlight文件下载方法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
silverlight來(lái)實(shí)現(xiàn)文件下載,糾結(jié)了很長(zhǎng)的時(shí)間。一般的,如果是zip、rar等文件,直接通過(guò)NavigationService.Navigate(url);的形式即可,但是,如果是wav、MP3文件等,瀏覽器往往會(huì)直接打開(kāi)應(yīng)用程序進(jìn)行播放(如Windows Media Player等),造成了很多的困惑。
silverlight端的處理:
NavigationService.Navigate(url);
網(wǎng)上搜索的解決方案,要么是通過(guò)silverlight客戶端來(lái)下載,要么通過(guò)asp.net來(lái)下載,不一而足,各有優(yōu)缺點(diǎn)。這里不評(píng)價(jià)各種優(yōu)缺點(diǎn),只記述了自己實(shí)現(xiàn)的結(jié)果。這里需要下載的文件是存放在服務(wù)器上的,并考慮到了虛擬目錄的。一些動(dòng)態(tài)生成的文件,也可以以此處理。
asp.net端的代碼,短短的,沒(méi)有幾行:
public void ProcessRequest(HttpContext context){string filename = context.Request.QueryString["filename"];string physical_file_name = context.Server.MapPath(filename);FileInfo fi = new FileInfo(physical_file_name);//context.Response.Output.WriteLine("物理文件名:" + physical_file_name);context.Response.Clear();context.Response.ContentType = "application/octet-stream";//通知瀏覽器下載文件而不是打開(kāi)context.Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name);context.Response.WriteFile(physical_file_name);}silverlight端的處理:
NavigationService.Navigate(url);
總結(jié)
以上是生活随笔為你收集整理的silverlight文件下载方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: linux 内核地址随机化,GNU/Li
- 下一篇: 第三十八期:美国数据隐私保护法案来临,明