asp.net文件流下载的代码摘要

try
            {

                var workbook = new XLWorkbook();
                if (Workbook != null)
                {
                    workbook = Workbook;
                }
                if (this.ExportData != null || this.Workbook != null)
                {
                    context.HttpContext.Response.Clear();

                    // 编码
                    context.HttpContext.Response.ContentEncoding = Encoding.UTF8;

                    // 设置网页ContentType
                    context.HttpContext.Response.ContentType =
                        "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";

                    // 导出名字
                    var browser = context.HttpContext.Request.Browser.Browser;
                    var exportFileName = browser.Equals("Firefox", StringComparison.OrdinalIgnoreCase)
                        ? this.FileName
                        : HttpUtility.UrlEncode(this.FileName, Encoding.UTF8);

                    context.HttpContext.Response.AddHeader(
                        "Content-Disposition",
                        string.Format("attachment;filename={0}", exportFileName));

                    // Add all DataTables in the DataSet as a worksheets
                    if (ExportData != null)
                        workbook.Worksheets.Add(this.ExportData, this.SheetName);

                    using (var memoryStream = new MemoryStream())
                    {
                        workbook.SaveAs(memoryStream);
                        memoryStream.WriteTo(context.HttpContext.Response.OutputStream);
                        memoryStream.Close();
                    }
                }
                workbook.Dispose();
            }
            catch
            {
                throw;
            }

  

时间: 2024-10-14 07:21:40

asp.net文件流下载的代码摘要的相关文章

ASP.NET 实现Base64文件流下载PDF

因为业务需要调用接口获取的是 Base64文件流 需要提供给客户下载PDF文档 源码部分借鉴网上,具体地址忘记了. //Base64文件流 byte[] buffer = Convert.FromBase64String(decodedString); System.IO.Stream iStream = new System.IO.MemoryStream(buffer); try { int length; long dataToRead; string filename = sn + ".

使用文件流下载文件,并且修改文件的名字

最近在搞一个项目,里面有一个文件下载的内容,但是万恶的产品提了一个要自定义修改文件名的需求,一开始后台不想改,让前端修改(这简直是不可理喻,最后还是后台改了),不过经过努力,我还是找到了方法去解决. 这里使用的是文件流的方式,就是先把文件从服务器下载下来,前端再通过blob去修改文件名. 代码如下: fetch('/api/fs/download2/internal/' + item.att[0].url).then(res => res.blob().then(blob => { let a

原生Javascript使用fetch发起请求_模拟get|post|文件流下载等

有时候,我们无法借助熟悉的jquery发起请求,原生JS里是支持fetch函数的,这是个高度封装的方法,帮助我们做了很多底层的封装,下面列举一些发起请求的示例: 1-发起Get请求: //httpGet请求 var httpGet = async function (getUrl) { var opts = { method: "GET", credentials: 'include' // 强制加入凭据头 } await fetch(getUrl, opts).then((respo

远程服务器文件流下载方法【实例】

/**  * 远程服务下载类  *  * @author jiyanle.  * @date 2015/6/17  */ @Controller @RequestMapping(value = "download") public class FileDownload extends BaseController {     /**      * 远程服务器文件下载      *      * @param request      * @param response      * @

axios 文件流下载

this.axios .post(this.baseUrl+"/exportUser", { admin: "",keys: "",keyword:this.keyword,},{responseType: 'blob'}) .then(function(response) { var blob = new Blob([response.data]) var downloadElement = document.createElement('a'

ajax请求文件流下载

$.ajax({ // url:BASEURL+'/bill/download/invoice', url:'http://loan-test.yinshuitong.com/backorg/bill/download/invoice', type:'get', data:{ invoiceIdStr:invoiceShell.id }, crossDomain: true == !(document.all), beforeSend: function(request) { request.s

通过httpClient请求文件流(普通文件和压缩文件)示例

前言:通过浏览器请求文件流进行文件下载这里就不说了,网上有很多例子,这里主要是记录一下工作中的另一个场景,一个服务器通过HTTPClient向另一个服务请求文件流,在内存中进行业务逻辑处理,并不需要下载到本地,当然,如果你想要下载本地也是可以的,把文件流写到本地磁盘就可以了,也可以写到文件系统中.废话不多说. 一,服务器传输的是普通的文件流,没有经过压缩 服务器: @RequestMapping(value = "/getCommonFile", method = RequestMet

前端接收后端返回的文件流导出Excel

需求:接收后端返回的文件流导出Excel 自己项目中遇到过,亲测有效 情况二使用过程中解决的问题: 1.直接接受的文件流下载格式为txt且乱码.需要通过 下面这句代码来转成Excel: let url = new Blob([xmlHttp.response], { type: 'application/vnd.ms-excel' }); 2.文件名乱码,显示数字单词组成的随机字符串.需要后端在header中返回文件名,转义获取 //文件名 link.download = decodeURICo

C#实现FTP文件夹下载功能【转载】

网上有很多FTP单个文件下载的方法,前段时间需要用到一个FTP文件夹下载的功能,于是找了下网上的相关资料结合MSDN实现了一段FTP文件夹下载的代码. 实现的思路主要是通过遍历获得文件夹下的所有文件,当然,文件夹下可能仍然存在文件夹,这样就需要结合递归这种方法来实现对一个我们指定的文件夹获得其下的所有文件.最后通过一个下载方法来逐级将文件夹内的每个文件下载到本地. 有关递归的MSDN在线帮助--http://msdn.microsoft.com/zh-cn/library/z3dk2cc3.as