silverlight来实现文件下载,纠结了很长的时间。一般的,如果是zip、rar等文件,直接通过NavigationService.Navigate(url);的形式即可,但是,如果是wav、MP3文件等,浏览器往往会直接打开应用程序进行播放(如Windows Media Player等),造成了很多的困惑。

网上搜索的解决方案,要么是通过silverlight客户端来下载,要么通过asp.net来下载,不一而足,各有优缺点。这里不评价各种优缺点,只记述了自己实现的结果。这里需要下载的文件是存放在服务器上的,并考虑到了虚拟目录的。一些动态生成的文件,也可以以此处理。

asp.net端的代码,短短的,没有几行:

     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";//通知浏览器下载文件而不是打开context.Response.AddHeader("Content-Disposition", "attachment;  filename=" + fi.Name);context.Response.WriteFile(physical_file_name);}

silverlight端的处理:

NavigationService.Navigate(url);

silverlight文件下载方法相关推荐

  1. python 下载文件-Python实现HTTP协议下的文件下载方法总结

    本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙. 1.简单文件下载 使用htttplib2,具体代码如下: h = httplib2 ...

  2. 土豆网、六间房等在线视频FLV文件下载方法

    土豆网.六间房等在线视频FLV文件下载方法 第一步:下载安装上网冲浪更安全. 更稳定.更惬意的下面Firefox浏览器 第二步:根据Firefox浏览器提示操作安装Flash Player动画播放插件 ...

  3. Hotfile文件下载方法

    Hotfile文件下载方法 有的时候我们需要下载Hotfile的文件,但是又苦于无法访问,由于Hotfile下载文件需要识别IP的缘故,所以类似127.0.0.1:8580之类的代理均没有效果. 这里 ...

  4. silverlight 文件下载若干方法

    方法一:WebService 前台代码: < DataTemplate > < Button Content ="下载" Height ="23&quo ...

  5. python实现http下载文件-Python实现HTTP协议下的文件下载方法总结

    本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙. 1.简单文件下载 使用htttplib2,具体代码如下: h = httplib2 ...

  6. python实现文件下载-Python实现HTTP协议下的文件下载方法总结

    本文介绍了几种常用的python下载文件的方法,具体使用到了htttplib2,urllib等包,希望对大家有帮忙. 1.简单文件下载 使用htttplib2,具体代码如下: h = httplib2 ...

  7. 对象存储 OSS 文件下载方法:流式下载和本地下载

    OSS Java SDK提供了丰富的文件下载方式: 流式下载 下载到本地文件 创建对象 ossClient 实例化后,可以先进行一步非空判断,确定该对象存储中有我们要找的 bucket 和 文件.判断 ...

  8. [转]asp.net文件下载方法...

    TransmitFile实现下载 protected void Button1_Click(object sender, EventArgs e) {          /*           微软 ...

  9. 【S操作】更新网络视频下载方法详细步骤,m3u8格式文件视频文件下载方法,gohls使用详细步骤...

    一个月前搞过这个功能,并且发了简单步骤的文章,今天需要使用这个功能,有些地方居然想不起来怎么弄了,完全没有达到我笔记的目的,今天把gohls的详细步骤记录一下,各位参考少走弯路. 步骤简述: 下载go ...

  10. iOS开发之普通网络异步请求与文件下载方法

    先来说说普通异步下载方法,分为POST.GET两种 /** GET请求获取数据*/ + (void)getDataWithUrl:(NSString *)strUrl finishBlock:(ECG ...

最新文章

  1. RBee ZigBee无线透明传输通信模块 兼容arduino平台 类似XBee
  2. DotNet Core 2.2 MVC Razor 页面编译为 View.dll 文件的解决方法
  3. flutter学习(排雷)一
  4. 机器学习知识点(四)最小二乘法Java实现
  5. map for循环_Java_foundations_1 如何遍历Map
  6. Scala父类和父特质的执行顺序
  7. java kettle log_kettle使用log4j管理输出日志
  8. 19号以后包括数组在内的所有内容(数组、函数、方法、dom操作)
  9. 手把手教你做一辆mini平衡自行车!
  10. 欢迎使用CSDN-markdown编辑器2131
  11. 使用FFTW的fftw_plan_dft_c2r_1d()由于未归一化结果错误的解决方案
  12. 基于asp.net729在校大学生助学贷款管理系统
  13. CH341ser(usb转串口)驱动
  14. Ray Dalio:经济机器是怎样运行的 (时长30分钟)
  15. Python爬虫120例之案例58,手机APP爬虫,“武器库”的准备and皮皮虾APP的测试
  16. 美团智能配送系统的运筹优化实战-笔记
  17. JAVA解析字符串数学公式
  18. kettle-3(linux环境调度kjb并配置定时读取)
  19. 常见循环神经网络概括
  20. TWS蓝牙耳机怎么挑选?值得买的蓝牙耳机推荐

热门文章

  1. GB28181协议之录像回放
  2. 关于imx8mp的es8316的芯片调试
  3. 纯HTML个人简历模板代码
  4. 用数字ic产生正弦波的仿真尝试。
  5. 信捷plc用c语言编程视频,信捷PLC/触摸屏全套编程软件/学习教程视频资料 大全编程操作手册...
  6. 学习网络编程推荐安装的软件
  7. 教程 | xampp mysql的可视化界面出现
  8. 实施运维企业面试题-5
  9. 北京最最最牛逼的 IT 公司全在这了!
  10. CAD插件学习系列教程(五) 小菜选择易