鍏堟妸鏈夐棶棰樼殑浠g爜璐村嚭鏉ュ惂,
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace infoPlatClient.NetDisk
{
public partial class downLoad : Com.DRPENG.Common.WebStruct.BaseForm
{
/// <summary>
/// 鍙栧緱瑕佷笅杞芥枃浠剁殑璺緞
/// </summary>
private string fileRpath
{
get
{
return Request["fileRpath"] == null ? "" : Request["fileRpath"];
}
}
/// <summary>
/// 鍙栧緱瑕佷笅杞芥枃浠剁殑鍚嶇О
/// </summary>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
this.DownloadFile();
}
public void DownloadFile()
{
Response.ClearHeaders();
Response.Clear();
Response.Expires = 0;
Response.Buffer =true;
Response.AddHeader("Accept-Language", "zh-tw");
string name = System.IO.Path.GetFileName(fileRpath);
System.IO.FileStream files = new FileStream(fileRpath, FileMode.Open, FileAccess.Read, FileShare.Read);
byte[] byteFile=null;
if (files.Length == 0)
{
byteFile=new byte[1];
}
else
{
byteFile = new byte[files.Length];
}
files.Read(byteFile, 0, (int)byteFile.Length);
files.Close();
Response.AddHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(name, System.Text.Encoding.UTF8));
Response.ContentType = "application/octet-stream;charset=gbk";
Response.BinaryWrite(byteFile);
Response.End();
}
}
}
涔嬪墠涓€鐩寸敤杩欑涓嬭浇鏂瑰紡锛屽彲鏄湁涓€娆$敤鎴蜂笂浼犱簡涓€涓?00Mb鐨勬枃浠舵椂鎶ュ唴瀛樻孩鍑虹殑闂锛屽垎鏋愪簡涓€涓嬪師鍥狅紝鐢ㄦ埛鐨勫唴瀛樺彧鏈?56M锛岃€屼笅杞芥枃浠舵椂瑕佸垱寤哄唴瀛樻祦锛屽鑷翠簡鍐呭瓨婧㈠嚭銆?
瑙e喅鏂规:1>WriteFile鍒嗗潡涓嬭浇锛屽氨鏄瘡娆′笅杞芥寚瀹氭暟閲忕殑澶氫欢;
2>閫氳繃瓒呴摼鎺ョ殑鏂瑰紡;
lblDownLoad.Text = "<a href='" + drv["VPath"].ToString() + "'>涓嬭浇</a>"
涓嬮潰鏄洓绉嶅疄鐜版枃浠朵笅杞界殑鏂瑰紡:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
//TransmitFile瀹炵幇涓嬭浇
protected void Button1_Click(object sender, EventArgs e)
{
/*
寰蒋涓篟esponse瀵硅薄鎻愪緵浜嗕竴涓柊鐨勬柟娉昑ransmitFile鏉ヨВ鍐充娇鐢≧esponse.BinaryWrite
涓嬭浇瓒呰繃400mb鐨勬枃浠舵椂瀵艰嚧Aspnet_wp.exe杩涚▼鍥炴敹鑰屾棤娉曟垚鍔熶笅杞界殑闂銆? 浠g爜濡備笅锛? */
Response.ContentType = "application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=z.zip");
string filename = Server.MapPath("DownLoad/z.zip");
Response.TransmitFile(filename);
}
//WriteFile瀹炵幇涓嬭浇
protected void Button2_Click(object sender, EventArgs e)
{
/*
using System.IO;
*/
string fileName ="asd.txt";//瀹㈡埛绔繚瀛樼殑鏂囦欢鍚? string filePath=Server.MapPath("DownLoad/aaa.txt");//璺緞
FileInfo fileInfo = new FileInfo(filePath);
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);
Response.AddHeader("Content-Length", fileInfo.Length.ToString());
Response.AddHeader("Content-Transfer-Encoding", "binary");
Response.ContentType = "application/octet-stream";
Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
Response.WriteFile(fileInfo.FullName);
Response.Flush();
Response.End();
}
//WriteFile鍒嗗潡涓嬭浇
protected void Button3_Click(object sender, EventArgs e)
{
string fileName = "aaa.txt";//瀹㈡埛绔繚瀛樼殑鏂囦欢鍚? string filePath = Server.MapPath("DownLoad/aaa.txt");//璺緞
System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);
if (fileInfo.Exists == true)
{
const long ChunkSize = 102400;//100K 姣忔璇诲彇鏂囦欢锛屽彧璇诲彇100K锛岃繖鏍峰彲浠ョ紦瑙f湇鍔″櫒鐨勫帇鍔? byte[] buffer = new byte[ChunkSize];
Response.Clear();
System.IO.FileStream iStream = System.IO.File.OpenRead(filePath);
long dataLengthToRead = iStream.Length;//鑾峰彇涓嬭浇鐨勬枃浠舵€诲ぇ灏? Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName));
while (dataLengthToRead > 0 && Response.IsClientConnected)
{
int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//璇诲彇鐨勫ぇ灏? Response.OutputStream.Write(buffer, 0, lengthRead);
Response.Flush();
dataLengthToRead = dataLengthToRead - lengthRead;
}
Response.Close();
}
}
//娴佹柟寮忎笅杞? protected void Button4_Click(object sender, EventArgs e)
{
string fileName = "aaa.txt";//瀹㈡埛绔繚瀛樼殑鏂囦欢鍚? string filePath = Server.MapPath("DownLoad/aaa.txt");//璺緞
//浠ュ瓧绗︽祦鐨勫舰寮忎笅杞芥枃浠? FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
//閫氱煡娴忚鍣ㄤ笅杞芥枃浠惰€屼笉鏄墦寮€
Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
}
鏂囦欢涓嬭浇鐨勫嚑绉嶆柟娉?
聽娴忚鍣ㄤ繚瀛?
string name = "瀵规瘮璁㈠崟.xls";
using (MemoryStream ms = new MemoryStream())
{
try
{
wk.Write(ms);
HttpContext.Response.ContentType = "application/vnd.ms-excel";
HttpContext.Response.ContentEncoding = Encoding.UTF8;
HttpContext.Response.Charset = "";
HttpContext.Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(name, Encoding.UTF8));
HttpContext.Response.BinaryWrite(ms.GetBuffer());
HttpContext.Response.End();
}
catch
{
HttpContext.Response.Write("false");
}
}
View Code
聽
杞浇浜?https://www.cnblogs.com/taidi/p/4093210.html