asp.net中大文件下载
生活随笔
收集整理的這篇文章主要介紹了
asp.net中大文件下载
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
因?yàn)镮IS支持的最大文件為int32的最大值位數(shù)的文件下載,所以,超過(guò)2G的文件無(wú)法通過(guò)IIS進(jìn)行下載。
通過(guò)網(wǎng)上查找的資料,如下可實(shí)現(xiàn)文件的下載,使用filestream進(jìn)行下載。
public void download(){System.IO.Stream iStream = null;byte[] buffer = new Byte[10000];//設(shè)置大小int length;long dataToRead;string filepath = Server.MapPath("~/Upload/XXX/YYY.rar");//文件的路徑string filename = System.IO.Path.GetFileName(filepath);try{iStream = new System.IO.FileStream(filepath, FileMode.Open, FileAccess.Read);dataToRead = iStream.Length;Response.Clear();Response.ClearHeaders();Response.ClearContent();Response.ContentType = "application/unknow"; Response.AddHeader("Content-Length", dataToRead.ToString());Response.AddHeader("Content-Disposition", "attachment; filename=" + filename);while (dataToRead > 0){if (Response.IsClientConnected){length = iStream.Read(buffer, 0, 10000);Response.OutputStream.Write(buffer, 0, length);Response.Flush();buffer = new Byte[10000];dataToRead = dataToRead - length;}else{dataToRead = -1;}}}catch (Exception ex){Response.Write("Error : " + ex.Message);}finally{if (iStream != null){iStream.Close();}Response.End();}}?
轉(zhuǎn)載于:https://www.cnblogs.com/syp1Blog/p/10899576.html
總結(jié)
以上是生活随笔為你收集整理的asp.net中大文件下载的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算器和手机计算器区别?
- 下一篇: ASP.NET中利用ashx实现图片防盗