前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >asp.net下载文件几种方式

asp.net下载文件几种方式

原创
作者头像
用户7705674
修改于 2021-11-02 08:09:25
修改于 2021-11-02 08:09:25
2K0
举报
文章被收录于专栏:css小迷妹css小迷妹

protected void Button1_Click(object sender, EventArgs e) 

{ /* 微软为Response对象提供了一个新的方法TransmitFile来解决使用Response.BinaryWrite 下载超过400mb的文件时导致Aspnet_wp.exe进程回收而无法成功下载的问题。 代码如下: */ Response.ContentType = "application/x-zip-compressed"; Response.AddHeader("Content-Disposition", "attachment;filename=z.zip"); string filename = Server.MapPath("DownLoad/aaa.zip"); Response.TransmitFile(filename); } //WriteFile实现下载 protected void Button2_Click(object sender, EventArgs e) { /* using System.IO; */ string fileName ="aaa.zip";//客户端保存的文件名 string filePath=Server.MapPath("DownLoad/aaa.zip");//路径 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.zip";//客户端保存的文件名 string filePath = Server.MapPath("DownLoad/aaa.zip");//路径 System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath); if (fileInfo.Exists == true) { const long ChunkSize = 102400;//100K 每次读取文件,只读取100K,这样可以缓解服务器的压力 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.zip";//客户端保存的文件名 string filePath = Server.MapPath("DownLoad/aaa.zip");//路径 //以字符流的形式下载文件 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(); } 

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
ASP.netMVC文件下载
string filePath = Server.MapPath(“”);//路径
全栈程序员站长
2022/09/18
6980
ASP.NET 大文件下载实现代码
文件下载是一个网站最基本的功能,ASP.NET网站的文件下载功能实现也很简单,但是如果遇到大文件的下载而不做特殊处理的话,那将会出现不可预料的后果。本文就基于ASP.NET提供大文件下载的实现思路及代码。
用户8671053
2021/11/02
2K0
ASP.NET指定页面转PDF、JPG(插件)
转PDF、JPG插件(wkhtmltox-0.12.4_msvc2015-win64.exe)
小语雀网
2022/05/06
2K0
ActiveReports 报表应用教程 (16)---报表导出
葡萄城ActiveReports报表支持多种格式的报表导出,包括PDF、Excel、Word、RTF、HTML、Text、TIFF以及其它图片格式,用户可以将它们应用到Windows Forms、Web、WPF、Silverlight等应用系统中。 在专业版的葡萄城ActiveReports报表里,对PDF格式的数据输出又有了增强功能。现在用户可以将不可见的数字签名或者可见的文字图案加入到报表里。通过多种属性对数字签名进行个性化设置, 用数字签名验证报表作者,还可通过Certification Level
葡萄城控件
2018/01/10
2.3K0
ActiveReports 报表应用教程 (16)---报表导出
asp.net mvc实现文件下载「建议收藏」
前段时间一直对如何解决文件下载的问题比较困惑,对文件下载的问题一直都是用的前端的方式解决的,代码如下
全栈程序员站长
2022/09/15
1.8K0
ASP.NET实现文件的上传和下载
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/40785429
DannyHoo
2018/09/13
9.3K1
ASP.NET实现文件的上传和下载
asp.net里导出excel表方法汇总
public void CreateExcel(DataSet ds,string typeid,string FileName) { HttpResponse resp; resp = Page.Response; resp.ContentEncoding = System.Text.Encoding.GetEncoding(“GB2312”); resp.AppendHeader(“Content-Disposition”, “attachment;filename=” + FileName); string colHeaders= “”, ls_item=””; int i=0;
全栈程序员站长
2022/06/30
9190
C#编写 HTML生成PDF
<body>     <div style="text-align:center;">     <iframe id="pdframe" width="900px;" height="850px;" name="pdframe" src="../dl/NOQRS.htm"             frameborder="no" border="0" marginwidth="0" marginheight="0" scrolling="no" allowtransparency="yes">     </iframe>     </div>     <br />     <table border="0" align="center" cellpadding="0" cellspacing="0" class="wd noprint">         <tr>             <td align="right" height="30">             </td>         </tr>         <tr>             <td align="right" height="50">                 <a id="dc_a" class="dc" href="javascrpit:void(0)" target="_blank">                     <img src="../../images/dc.jpg" border="0" width="128" height="43" /></a> <a id="dy_a"                         class="dy" href="javascrpit:void(0)" onclick="dyqrs()">                         <img src="../../images/dy.jpg" border="0" width="128" height="43" /></a>             </td>         </tr>     </table> </body>
用户7705674
2021/11/03
1.7K0
程序实现下载文件或者打开文件
FileInfo DownloadFile = new FileInfo("c:\\a.doc"); // 下面到就是读取文件,通过数据流的方式下载了。 Response.Clear(); Response.ClearHeaders(); Response.Buffer = false; Response.ContentType = "application/octet-stream"; Response.AppendHeader("Content-Disposition", "in
用户1075292
2018/01/23
9470
Asp.net WebForm使用NPOI导出Excel
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/151689.html原文链接:https://javaforall.cn
全栈程序员站长
2022/06/25
8750
Asp.net WebForm使用NPOI导出Excel
使用HttpDownLoadHelper下载文件
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.IO; using System.Threading; namespace ProjectWenDangManage.Framework { /// <summary> /// HTTP文件下载辅助类 /// </summary> public class HttpDownLoad
易墨
2018/09/14
1.3K0
asp.net jpg 转 PDF 并提供下载
        /// <summary>         /// 下载按钮         /// </summary>         /// <param name="sender"></param>         /// <param name="e"></param>         protected void Button2_Click(object sender, EventArgs e)         {             using (var imageStream = new
MJ.Zhou
2022/05/07
1.5K0
关于asp.net与winform导出excel的代码
一、asp.net中导出Execl的方法: 在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分列,n等价于换行。 1、将整个html全部输出execl 此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl中。
跟着阿笨一起玩NET
2018/09/19
5.8K0
ASP.NET 实现Base64文件流下载PDF
因为业务需要调用接口获取的是 Base64文件流 需要提供给客户下载PDF文档 源码部分借鉴网上,具体地址忘记了。 //Base64文件流 byte[] buffer = Convert.FromBase64String(decodedString); System.IO.Stream iStream = new System.IO.MemoryStream(buffer); try {
纯粹是糖
2018/03/14
1.7K0
C#使用#ziplib压缩和解压缩文件
要下载整个目录,一般方法是一个个文件下载或ftp工具 现在用SharpZipLib就能实现实时zip压缩下载整个目录
全栈程序员站长
2022/09/19
7800
了解ASP.NET MVC几种ActionResult的本质:FileResult
FileResult是一个基于文件的ActionResult,利用FileResult我们可以很容易地将从某个物理文件的内容响应给客户端。ASP.NET MVC定义了三个具体的FileResult,分
蒋金楠
2018/01/15
1.1K0
了解ASP.NET MVC几种ActionResult的本质:FileResult
C#向excel中写入数据的三种方式
第一种:将DataGrid中的数据以流的形式写到excel中,格式以html的形式存在             Response.Clear();             Response.Buffer = true;             Response.Charset = "GB2312";             Response.AppendHeader("Content-Disposition", "attachment;filename=DialoutTemplate.xls");     
岑玉海
2018/02/28
4K0
Content-Disposition的使用和注意事项
近日在使用Content-disposition的使用出现UTF-8识别不了的情况,经过HttpUtility.UrlEncode(fileName,Encoding.UTF8)编码后的文件名称直接显示给用户了,如图:
全栈程序员站长
2022/09/07
6810
Content-Disposition的使用和注意事项
遭遇Asp.Net长文件名下载的问题和解决办法
在Asp.Net中写了一个附件上传和下载的程序,附件上传到数据库中,然后将附件的GUID保存起来,我们可以根据GUID来找到数据库中的附件,一般附件下载的代码是:
深蓝studyzy
2022/06/16
4920
把图片插入excel表格并按分类生成sheets
private void Excel_Click(object sender, System.EventArgs e)
Java架构师必看
2021/03/22
9750
相关推荐
ASP.netMVC文件下载
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档