文件下载问题,忘指点,谢谢
String dlDir = "downloadfiles/";String strFileName = Request.QueryString("FileName");
String path = Server.MapPath(dlDir + Request.QueryString("FileName"));
//string path = File1.Value;
FileInfo toDownload = new FileInfo(path);
if (toDownload.Exists)
{
int ChunkSize = 10000;
Byte[] buffer = new Byte[ChunkSize];
Response.Clear();
using (Stream iStream = File.OpenRead(path))
{
long dataLengthToRead = iStream.Length;
//Response.ContentType = "application/octet-stream";
//Response.AddHeader("Content-Disposition", "attachment; filename=" + toDownload.Name);
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Type","RMVB");
Response.AddHeader("Content-Disposition", "attachment; filename=" + toDownload.Name);
Response.AppendHeader("Accept-Header", "bytes");
Response.AppendHeader("ETag", "58afcc3dae87d52:3173");
while (dataLengthToRead > 0 && Response.IsClientConnected)
{
int lengthRead = iStream.Read(buffer, 0, ChunkSize);
Response.OutputStream.Write(buffer, 0, lengthRead);
Response.Flush();
dataLengthToRead = dataLengthToRead - lengthRead;
}
}
Response.End();
}
else
{
//BindFileDataToGrid("Name");
Response.Write("文件不存在!");
}
为什么这段代码不能下载.rmvb等电影文件?忘指点,谢谢 --------------------编程问答-------------------- 顶起,关注。 --------------------编程问答-------------------- Request.QueryString("FileName");
写错了,应该是中括号,
其它代码没什么问题,我测试了可以下载400兆的电影
会不会是你的服务器内存偏小?导致文件无法载入内存?
报什么错误? --------------------编程问答-------------------- 刚 看你的题目 以为你要指点别人。。。 --------------------编程问答-------------------- 没看出什么问题
只是不能下载.rmvb等电影文件?其他文件都行吗?
下载的文件有多大呢? --------------------编程问答-------------------- 对呀,其它的文件都没问题(如.txt,图片都可以),只是rmvb不行,我电脑是一G内存,应该不会小吧 --------------------编程问答-------------------- 对了,我下载的.rmvb文件是416M,有影响吗? --------------------编程问答-------------------- 只要是视屏文件(如.rmvb,.avi)点下载,就变成了---Internet Explorer 无法显示该网页,为什么呢,忘大家多多指点,谢谢!
补充:.NET技术 , C#