string pathfile = 文件的物理路径;
FileStream fs = new FileStream(pathfile, FileMode.Open, FileAccess.Read);
long p = 0;
FileInfo fi = new FileInfo(pathfile);
long l = fi.Length;
if (Request.Headers["Range"] != null)
{
Response.StatusCode = 206;
p = long.Parse(Request.Headers["Range"].Replace("bytes=", "").Replace("-", ""));
}
Response.AddHeader("Content-Length", ((long)(l - p)).ToString());
if (p != 0)
{
Response.AddHeader("Content-Range", "bytes " + p.ToString() + "-" + ((long)(l - p)).ToString() + "/" + l.ToString());
}
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name);
fs.Position = p;
int i = 1;
byte[] b = new Byte[1024];
while (i > 0)
{
i = fs.Read(b, 0, b.Length);
Response.OutputStream.Write(b, 0, i);
}
fs.Close();
Response.End();
还有一个小问题,这个东东下下来的东西的名字是乱码,怎么才能让他变正常啊?
FileStream fs = new FileStream(pathfile, FileMode.Open, FileAccess.Read);
long p = 0;
FileInfo fi = new FileInfo(pathfile);
long l = fi.Length;
if (Request.Headers["Range"] != null)
{
Response.StatusCode = 206;
p = long.Parse(Request.Headers["Range"].Replace("bytes=", "").Replace("-", ""));
}
Response.AddHeader("Content-Length", ((long)(l - p)).ToString());
if (p != 0)
{
Response.AddHeader("Content-Range", "bytes " + p.ToString() + "-" + ((long)(l - p)).ToString() + "/" + l.ToString());
}
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + fi.Name);
fs.Position = p;
int i = 1;
byte[] b = new Byte[1024];
while (i > 0)
{
i = fs.Read(b, 0, b.Length);
Response.OutputStream.Write(b, 0, i);
}
fs.Close();
Response.End();
还有一个小问题,这个东东下下来的东西的名字是乱码,怎么才能让他变正常啊?
解决方案 »
- 获取gridview中的数据集赋给dataset
- Asp.net 给PDF加水印图片 C#
- 关于URL rewrite 问题
- 求教如何在虚拟主机上配置。net 4.0的网站
- 一个经典的问题
- 30分,Textbox过滤问题.今天来上论坛,昨天的问题一个回复也没有。。。太难了?
- 50分 求解!发了好几天帖子 竟然没有好办法
- 如何在VS2008中进行跨行调试
- 如果只设定一个用户,能同时好几人用这个用户名浏览网页吗?
- sql server数据库里面的一张表的数据 分配给一个用户查看权限。。怎么来搭这个数据库。求问。。
- 找不到类型或命名空间名称“MediaType”(是否缺少 using 指令或程序集引用?) 马上结帖
- 请问session在StateServer状态下,可不可以多部服务器共享Session啊,应该怎么样设置啊?
这个东西怎么昨天不行,今天就可以了?真是奇怪
昨天是一堆数字和字符的组合.