JQuery按照form下载文件+后台asp.net,非ajax(下)

    前面说到通过js form方式POST数据,那后台应该怎么处理了。

因为这代码的框架是一个外包写的,写的很复杂,可能也是之前所有的系统的合集。

暂时也没有时间去整理,所以只是在原有方式上增加功能。

作为一个C++的工程师,现在去搞前端。。。。

 

   后台有两种办法处理,一般的方式是先生成本地文件,然后在发送,还有就是直接发送数据。

我目前采用的是先生成本地文件。

看看代码吧

var filename = "withdraw_"+DateTime.Today.ToString("yyyyMMddhhmmss") + ".csv";
            var path = "~/ApiViews/PXMServer/" + filename;
            var filePathName = System.Web.HttpContext.Current.Server.MapPath(path);
            ExportWithdraw(context, filePathName);
            FileInfo fileInfo = new FileInfo(filePathName);
            HttpContext.Current.Response.Clear();
            HttpContext.Current.Response.ClearContent();
            HttpContext.Current.Response.ClearHeaders();
            HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment;filename=" + filename);
            HttpContext.Current.Response.AddHeader("Content-Length", fileInfo.Length.ToString());
            HttpContext.Current.Response.AddHeader("Content-Transfer-Encoding", "binary");
            HttpContext.Current.Response.ContentType = "application/octet-stream";
            HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("gb2312");
            HttpContext.Current.Response.WriteFile(fileInfo.FullName);
            HttpContext.Current.Response.Flush();
            HttpContext.Current.Response.End();


其他的函数可以忽略,最重要的是response的处理。

这样就完成了前后端的交互。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值