如何处理内容描述:AngularJS $ http响应中的文件传输

时间:2015-08-17 03:03:55

标签: javascript json angularjs http

短版本: $ http请求在桌面上运行良好,在移动设备上失败

在Angular控制器中,我对资源进行了$ http GET调用,该资源返回以下响应头:

Access-Control-Allow-Origin:*
Cache-Control:must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Description:File Transfer
Content-Disposition:attachment; filename=verses.json
Content-Length:1392
Content-Transfer-Encoding:binary
Content-Type:application/octet-stream
Date:Sun, 16 Aug 2015 23:13:18 GMT
Expires:0
Keep-Alive:timeout=5, max=100
Pragma:public
Server:Apache/2.4.6 (CentOS) OpenSSL/1.0.1e-fips PHP/5.4.16
X-Powered-By:PHP/5.4.16

正如您在此JSFiddle中所看到的,响应被识别为JSON。

然而,如果您在移动设备上加载相同的JSFiddle,则无法返回。我查看了$ http的transformResponse,但是文档很稀疏,我找不到有人试图得到我得到的东西的例子。有一些将JSON响应转换为可下载文件的示例,但我正在寻找相反的结果。

我知道明显的解决方案是要求API返回application / json而不是application / octet-stream,但在此之前,我会感激任何帮助或只是指出我正确的方向。谢谢!

0 个答案:

没有答案