为了账号安全,请及时绑定邮箱和手机立即绑定

从服务器下载文件的最佳方法是什么

从服务器下载文件的最佳方法是什么

函数式编程 2019-11-20 09:45:26
我有一个有趣的任务,要求我将服务器(ASP.NET)的动态生成文件下载到客户端。在客户端,它只是JavaScript(jQuery),并且客户端能够生成许多参数以自定义数据的导出方式。从服务器下载文件的最佳方法是什么?我应该使用WCF服务(例如此处描述的内容)还是像这样的简单页面?我不知道如何在不重新加载页面的情况下下载文件(我不确定$ .ajax在这种情况下是否可以工作)。有人可以给我一些关于这个话题的指导吗?谢谢。
查看完整描述

2 回答

?
Helenr

TA贡献1780条经验 获得超3个赞

首先,您可以从处理程序创建文件 .ashx


假设您有要下载的文件,download.ashx并且有一些要从JavaScript传递的参数,例如download.ashx?p1=8827&p2=8831,知道要创建什么。


然后在您的JavaScript上,您可以简单地将重定向为


window.location = "download.ashx?p1=8827&p2=8831";

或替代方法,您可以使用window.open进行相同的思考


window.open("download.ashx?p1=8827&p2=8831");

您的文件将开始下载。


只需确保已设置附件的标题,以及句柄上的正确内容类型即可,例如:


  HttpContext.Current.Response.ContentType = "application/octet-stream";

  HttpContext.Current.Response.AddHeader("Content-Disposition", 

                    "attachment; filename=" + SaveAsThisFileName);

简单明了,经过测试和工作。


查看完整回答
反对 回复 2019-11-20
  • 2 回答
  • 0 关注
  • 841 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信