基本信息
源码名称:WCF大文件下载 例子源码
源码大小:0.21M
文件格式:.rar
开发语言:C#
更新时间:2014-11-05
友情提示:(无需注册或充值,赞助后即可获取资源下载链接)
嘿,亲!知识可是无价之宝呢,但咱这精心整理的资料也耗费了不少心血呀。小小地破费一下,绝对物超所值哦!如有下载和支付问题,请联系我们QQ(微信同号):78630559
本次赞助数额为: 2 元×
微信扫码支付:2 元
×
请留下您的邮箱,我们将在2小时内将文件发到您的邮箱
源码介绍
WCF下载文档
WCF下载文档
public Stream DownloadFileStream(string serverfile, string path, long offset = 0, long count = 0)
{
CusFileInfo file = null;
var enumerator = files.Where((t) => t.MapPath == path "/" serverfile).GetEnumerator();
if (enumerator.MoveNext())
{
file = enumerator.Current;
}
else
{
throw new FaultException("非法请求。");
}
if (offset >= file.FileLength)
{
throw new FaultException("请求的断点超过了文件最大长度。");
}
if (count == 0)
{
count = file.FileLength - offset;
}
if (File.Exists(file.filepath))
{
var outgoingResponse = WebOperationContext.Current.OutgoingResponse;
outgoingResponse.ContentType = "application/force-download";
Console.WriteLine("开始下载:" serverfile "(" offset "--" count ")");
CusStreamReader fs = new CusStreamReader(new FileStream(file.filepath, FileMode.Open, FileAccess.Read, FileShare.Read), offset, count);
fs.Reading = (t) =>
{
//限速代码,实际使用时可以去掉,或者精确控制
Thread.Sleep(300);
Console.WriteLine(t);
};
return fs;
}
else
{
throw new FaultException("没找到文件:" serverfile);
}
}