首先在service层建一个Handler,内容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;

namespace test.Service
{
       public class WebClientDownHandler : IHttpHandler
    {

public void ProcessRequest(HttpContext context)
        {

String fileName = context.Request.QueryString["filename"]; //客户端保存的文件名
            String filePath = context.Server.MapPath("Pics/" + fileName); //路径

//string fileName = "ChartImg.png.jpg";

FileInfo fileInfo = new FileInfo(filePath);

if (fileInfo.Exists)
            {

byte[] buffer = new byte[102400];
                context.Response.Clear();

FileStream iStream = File.OpenRead(filePath);
                long dataLengthToRead = iStream.Length; //获取下载的文件总大小

context.Response.ContentType = "application/octet-stream";
                context.Response.AddHeader("Content-Disposition", "attachment;  filename=" +
                                   HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
                while (dataLengthToRead > 0 && context.Response.IsClientConnected)
                {
                    int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(102400));//'读取的大小

context.Response.OutputStream.Write(buffer, 0, lengthRead);
                    context.Response.Flush();
                    dataLengthToRead = dataLengthToRead - lengthRead;
                }
                context.Response.Close();
                context.Response.End();

}

}

public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }

}
假如我们的service的Pics目录下有一个文件test.doc

我们可以试试http://localhost/WebClientDownHandler.ashx?filename=test.doc 看看能不能访问下载文件

如果成功了,在Silverlight页面直接给HyperlinkButton指定NavigateUri为上述url就可以了,注意可能需要给HyperlinkButton加上TargetName="_self"

Silverlight实现文件下载相关推荐

  1. Silverlight技术研讨(1):WebClient, 文件下载利器

    对于小型的Silverlight应用程序,可以把所有内容,包括资源,都包含在一个Xap包中发布.对于开发者来说,是个很便利的选择,可以把更多的精力和时间用到程序的功能方面,提高开发效率.但是对于使用者 ...

  2. silverlight 文件下载若干方法

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

  3. EntityFramework+DomainDataSource+Silverlight完成数据读取分页排序与修改

    关于EF.SL.DomainDataSource的说明园子上够多了,这儿就不多说了. 1.安装VS2010与Silverlight 4 Tools-- 2.打开VS2010,新键Silverlight ...

  4. 分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日)

    分享Silverlight/WPF/Windows Phone一周学习导读(10月30日-11月6日) 本周Silverlight学习资源更新 Silverlight 定位 niejunhua [学习 ...

  5. silverlight 类似百度的图片浏览器,视频播放,附件下载功能,全部后台程序。...

    #region =========图片点击按钮================String[] nr = new String[7] { "房屋照片", "房屋所有权证& ...

  6. Silverlight获取WebHost配置信息--WebClient和XmlSerializer模拟

    在我们的silverlight项目中,是被打包为xap zip文件下载到客户端,所以silverlight中的app配置文件我们不能直接修改,而在其宿主web host中的web.config在服务端 ...

  7. Silverlight 2.5D RPG游戏技巧与特效处理:(十六)动态资源

    即开即玩是网页游戏相比传统客户端游戏的最大优势.如果说在每台电脑安装上G的客户端是一种资源浪费及时间污染:那么Silverlight作为RIA界的新宠儿,在继承祖辈优秀血统的前提下拥有更加卓越的性能及 ...

  8. Silverlight:Downloader的使用(event篇)

    (1)Downloader的使用 首先我们看什么是Downloader,就是一个为描述Silverlight plug-in下载功能的集合.Downloader能异步的通过HTTP GET Reque ...

  9. 分享Silverlight/WPF/Windows Phone一周学习导读(06月06日-06月11日)

    Windows 8预览版推出后,Silverlight社区掀起一番新的"Silverlight灭亡"讨论,由于Windows 8预览版中微软重点强调HTML 5和Javascrip ...

  10. ArcGIS API for Silverlight部署本地地图服务

    ArcGIS API for Silverlight部署本地地图服务 首先介绍下我们的开发和部署环境: 部署环境: Windows 7 旗舰版32位操作系统 IIS 6.0 开发环境: Visual ...

最新文章

  1. 【转】MongoDB C# / .NET Driver 中IMongoQuery的内部实现Query的用法
  2. Matlab 二维绘图函数(plot类)
  3. 推荐一款好用的android反编译工具
  4. Fis3的前端工程化之路[三大特性篇之资源定位]
  5. halcon获取图像中心点_关于Halcon的复杂图形中心点查找
  6. NOIP2018普及T2暨洛谷P5016 龙虎斗
  7. linux驱动下载中心,Kvaser Linux驱动程序| Linux驱动程序和SDK开发包
  8. 【嵌入式】51单片机最小系统以及蜂鸣器驱动电路
  9. win10时间不准_简单几招教会你win10系统时间不准怎么解决
  10. 3D Photography using Context-aware Layered Depth Inpainting-论文主要内容翻译
  11. js+jQuery 打造我的快乐小农场
  12. shopex admincore.php,Shopex后台登录页面注入漏洞附利用POC
  13. eclipse、ddms、android studio连接不上手机问题解决
  14. 买水货必看!你必须知道的10件事情
  15. 交换机上网显示本地未连接服务器,本地连接提示受限制或无连接,处理思路?...
  16. 实时数据库管理系统技术要求
  17. 年轻人应不应该买房 如何买
  18. 对于预防降权有什么手段?
  19. Android如何判断系统是否已经被Root
  20. 【UOJ#311】【UNR #2】积劳成疾(动态规划)

热门文章

  1. 手机客户端接口开发文档模板整理
  2. Hadoop HDFS命令
  3. ppt设置外观样式_ppt怎么设置幻灯片的背景一样?
  4. 二分算法和冒泡排序时间复杂度分析
  5. 研发、运营必备实用工具网站
  6. 教程——sumolympics
  7. 马尔可夫链蒙特卡罗算法 MCMC
  8. 条码打印软件中如何设置条形码下面的字符间距?
  9. WS2 安装ubuntu +迁移+vscode
  10. android ttc字体,android从ttc字体设置默认字体和字体系列