text WebForm - 大型档案下载
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了text WebForm - 大型档案下载相关的知识,希望对你有一定的参考价值。
public class Download : IHttpHandler
{
public void ProcessRequest(HttpContext context)
{
var index = context.Request.Params["index"];
var fileName = "test.txt";
//取得檔案在 Server 上的實體路徑
var filePath = context.Server.MapPath("~/File/" + fileName);
//緩衝區大小,每次讀取100KB
var bufferSize = 102400;
var buffer = new byte[bufferSize];
var fs = new FileStream(filePath,
FileMode.Open, FileAccess.Read);
//輸出檔案的位元組總長度
var outputLength = fs.Length;
//每次讀取的位元組長度
var readLength = 0;
context.Response.Clear();
context.Response.AddHeader(
"Content-Length", outputLength.ToString());
context.Response.ContentType = "application/octet-stream";
context.Response.AddHeader(
"content-disposition",
"attachment; filename=" + fileName);
//剩餘位元組長度大於零,且與瀏覽器連接著,就繼續執行
while (outputLength > 0 && context.Response.IsClientConnected)
{
readLength = fs.Read(buffer, 0, bufferSize);
context.Response.OutputStream.Write(buffer, 0, readLength);
context.Response.Flush();
outputLength = outputLength - readLength;
}
fs.Close();
context.Response.End();
}
public bool IsReusable
{
get
{
return false;
}
}
}
以上是关于text WebForm - 大型档案下载的主要内容,如果未能解决你的问题,请参考以下文章
C4D大型场景渲染优化专业级档案
WebForm——如何获得select被选中option的value和text和......
webform复合控件
Google Play 商店将提供现金购买、部分下载即可使用大型 app 等新功能
Webform(简单控件复合控件)
WebForm中 页面传参的总结