什么是从服务器下载文件的最佳方式
问题描述:
我有一个有趣的任务,它需要我从服务器(ASP.NET)下载动态生成的文件到客户端。在客户端,它只是JavaScript(jQuery),客户端可以生成很多参数来定制数据的导出方式。什么是从服务器下载文件的最佳方式
从服务器上下载文件的最佳方法是什么?我是否应该使用WCF服务,如here或简单页面this one?
我不知道如何下载文件而不重新加载页面(我不知道,$阿贾克斯将在这种情况下工作)。有人能给我一些关于这个话题的指导吗?谢谢。
答
首先,你可以从一个处理.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");
,你的文件就会开始下载。
只要确保你已经设置附件的头,和正确的contentType你的手柄如:
HttpContext.Current.Response.ContentType = "application/octet-stream";
HttpContext.Current.Response.AddHeader("Content-Disposition",
"attachment; filename=" + SaveAsThisFileName);
简单明了,既测试工作。
您也可能对此回答有意思:How to handle errors。
我认为这是相关的这个问题/答案:http://*.com/questions/3749231/download-file-using-javascript-jquery –