欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【ASP.Net下载大文件的实现方法】,下面是详细的讲解!
ASP.Net下载大文件的实现方法
using System;
namespace WebApplication1
{
public partial class DownloadFile : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
System.IO.Stream iStream=null;
// Buffer to read 10K bytes in chunk:
byte[] buffer=new Byte[10000];
// Length of the file:
int length;
// Total bytes to read.
long dataToRead;
// Identify the file to download including its path.
string filepath=Server.MapPath("/") +"./Files/TextFile1.txt";
// Identify the file name.
string filename=System.IO.Path.GetFileName(filepath);
try
{
// Open the file.
iStream=new System.IO.FileStream(filepath, System.IO.FileMode.Open,
System.IO.FileAccess.Read, System.IO.FileShare.Read);
// Total bytes to read.
dataToRead=iStream.Length;
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.ContentType="text/plain"; // Set the file type
Response.AddHeader("Content-Length", dataToRead.ToString());
Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);
// Read the bytes.
while (dataToRead > 0)
{
// Verify that the client is connected.
if (Response.IsClientConnected)
{
// Read the data in buffer.
length=iStream.Read(buffer, 0, 10000);
// Write the data to the current output stream.
Response.OutputStream.Write(buffer, 0, length);
// Flush the data to the HTML output.
Response.Flush();
buffer=new Byte[10000];
dataToRead=dataToRead - length;
}
else
{
// Prevent infinite loop if user disconnects
dataToRead=-1;
}
}
}
catch (Exception ex)
{
// Trap the error, if any.
Response.Write("Error : " + ex.Message);
}
finally
{
if (iStream !=null)
{
//Close the file.
iStream.Close();
}
Response.End();
}
}
}
}
关于ASP.Net下载大文件的实现方法的用户互动如下:
相关问题:asp.net下如何实现文件的拖拽上传,最好是能支持大...
答:同求!!!!! >>详细
相关问题:asp.net C# b/s 系统 怎么实现文件的上传下载。
答:点击上传按钮: protected void btnupload_Click(object sender, EventArgs e) { string file = uploadfile.SaveFile(uploadpic, upleixing,"uploadpic"); if (UpType.ToLower() == "one") { Response.Write("parent.document.form1." + htmCont... >>详细
相关问题:asp.net 如何实现大文件断点上传功能?急用!!!
答:楼主可以看下这样的思路。首先把大文件字节化,把这些字节分成一块一块的,比如1000个为一块,最后一块可能不足1000,然后通过循环一次一次的发到服务器上,服务器上将接收到的数据写在一个临时文件中,每次接收到就写在这个文件末尾,如果中途... >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【asp】asp.net ubb使用代码-net-ubb使用
- 【默认图片】图片不存在使用默认图片代替的实例
- 【asp】asp.net 页面转向 Response.Redirect Ser
- 【jQuery】jQuery实现倒计时跳转的例子-倒计时跳
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
