asp.net 浏览器下载文件的四种方式
来源:互联网 发布:儿童教育软件 编辑:程序博客网 时间:2024/05/16 07:08
其实不是自己想要的,自己希望能够弹一个窗口出来选择保存的路径
protected void Button1_Click(object sender, EventArgs e) {protected void Button1_Click(object sender, EventArgs e)2 {3 //TransmitFile实现下载45 /**//*6 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite7 下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。8 代码如下:9 */1011 Response.ContentType = "application/x-zip-compressed";12 Response.AddHeader("Content-Disposition", "attachment;filename=keji.rar");13 string filename = Server.MapPath("keji.rar");14 Response.TransmitFile(filename);15 Response.Write("<script language=\"javascript\" type=\"text/javascript\">");16 Response.Write("alert(\"下载成功\");");17 Response.Write("window.location.href=\"C_SC.aspx\";");18 Response.Write("</script>");1920 }21 protected void Button2_Click(object sender, EventArgs e)22 {2324 //WriteFile实现下载25 string fileName = "ceshi.rar";//客户端保存的文件名26 string filePath = Server.MapPath("keji.rar");//路径2728 FileInfo fileInfo = new FileInfo(filePath);29 Response.Clear();30 Response.ClearContent();31 Response.ClearHeaders();32 Response.AddHeader("Content-Disposition", "attachment;filename=" + fileName);33 Response.AddHeader("Content-Length", fileInfo.Length.ToString());34 Response.AddHeader("Content-Transfer-Encoding", "binary");35 Response.ContentType = "application/octet-stream";36 Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");37 Response.WriteFile(fileInfo.FullName);38 Response.Flush();39 Response.End();4041 }42 protected void Button3_Click(object sender, EventArgs e)43 {44 //WriteFile分块下载4546 string fileName = "GhostXP.iso";//客户端保存的文件名47 string filePath = Server.MapPath("GhostXP7.7.iso");//路径4849 System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath);5051 if (fileInfo.Exists == true)52 {53 const long ChunkSize = 409600;//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力54 byte[] buffer = new byte[ChunkSize];5556 Response.Clear();57 System.IO.FileStream iStream = System.IO.File.OpenRead(filePath);58 long dataLengthToRead = iStream.Length;//获取下载的文件总大小59 Response.ContentType = "application/octet-stream";60 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName));61 while (dataLengthToRead > 0 && Response.IsClientConnected)62 {63 int lengthRead = iStream.Read(buffer, 0, Convert.ToInt32(ChunkSize));//读取的大小64 Response.OutputStream.Write(buffer, 0, lengthRead);65 Response.Flush();66 dataLengthToRead = dataLengthToRead - lengthRead;67 }68 Response.Close();69 }70 }7172 //字符流方式下载文件73 protected void Button4_Click(object sender, EventArgs e)74 {75 string fileName = "ce2.rar";//客户端保存的文件名76 string filePath = Server.MapPath("keji.rar");//路径7778 //以字符流的形式下载文件79 FileStream fs = new FileStream(filePath, FileMode.Open);80 byte[] bytes = new byte[(int)fs.Length];81 fs.Read(bytes, 0, bytes.Length);82 fs.Close();83 Response.ContentType = "application/octet-stream";84 //通知浏览器下载文件而不是打开85 Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));86 Response.BinaryWrite(bytes);87 Response.Flush();88 Response.End();8990 }
0 0
- asp.net 浏览器下载文件的四种方式
- asp.net 浏览器文件下载
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net下载文件的四种方法
- asp.net response.ContentType 下载文件的四种方法
- asp.net下载文件的集中方式
- NET四种文件下载方式
- asp.net下载文件几种方式
- Asp.net下载文件几种方式
- asp.net下载文件几种方式
- asp.net下载文件几种方式
- asp.net下载文件几种方式
- asp.net下载文件几种方式
- asp.net下载文件几种方式
- 【转载】duilib 增加gif控件(基于gdi+,可控制播放暂停)
- Linux文本流
- POJ 1005 I Think I Need a Houseboat [解题报告] Java
- C++、C#写的WebService相互调用
- 二叉树总结
- asp.net 浏览器下载文件的四种方式
- Linux架构
- Linux进程基础
- 在网页中实现icon小图标的几种方法
- EL表达式
- 怎么设计移动应用的新手引导更好?-20150108早读课
- Linux信号基础
- 公网 rtsp流媒体地址
- msxml3.dll 错误 80072ee2解决方法 The operation timed out