我正在使用Express,我需要从服务器下载文件。我可以只用<a href="mylink"></a>轻松下载它,但是有一些查询参数,我想向用户隐藏。

因此,现在我尝试使用jQuery.ajax,该请求向Express(srv1)发送请求,然后Express将带有参数的请求发送至另一台服务器(srv2)。服务器用“ Content-disposition”标头和文件数据响应我。没关系。还有一个问题-我可以使用该文件并对我的初始Ajax请求进行响应吗?

问题是,即使res.download()带有文件(已经在我的srv1上)也无法正常工作。 Express可以很好地设置标题,但是没有文件提示下载。也许ajax中有一个探针?

最佳答案

您不能使浏览器通过javascript ajax请求执行文件下载(这是安全限制)。有关详细信息,请参见https://stackoverflow.com/a/9970672/266795。您需要一个正常的浏览器GET或POST请求才能获得正确的文件保存对话框。

关于ajax - 用Express下载文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18723758/

10-12 03:29
查看更多