我已经为API端点定义了一个$资源,该端点返回包含多个头的响应,但在
原文链接:https://www.f2er.com/angularjs/141575.htmltransformResponse
配置函数中,headersGetter函数参数中缺少大多数头.
我该如何解决?
API的响应标头
HTTP/1.1 201 Created Server: Apache-Coyote/1.1 x-content-type-options: nosniff x-xss-protection: 1; mode=block Cache-Control: no-cache,no-store,max-age=0,must-revalidate Pragma: no-cache Expires: 0 x-frame-options: DENY Access-Control-Allow-Origin: http://localhost:9000 access-control-allow-methods: POST,PUT,GET,DELETE,OPTIONS access-control-allow-headers: Content-Type Access-Control-Allow-Credentials: true Content-Disposition: attachment; filename="testCall.pcap" FileName: testCall.pcap Content-Type: application/pcap
transformResponse的标题
Pragma: no-cache Content-Type: application/pcap Cache-Control: no-cache,must-revalidate Expires: 0
app.factory("MyService",function ($resource,ENV,_) { return { testCall: $resource(ENV.apiEndpoint + "/test-call",{},{ launch: { method: 'POST',isArray: false,headers:{'Accept':'application/octet-stream'},responseType: 'blob',cache: false,transformResponse: function(data,headers){ var filename = headers('Content-Disposition'); //headers('FileName') var contentType = headers('Content-Type'); var file = new Blob([data],{ type: contentType }); var fileURL = URL.createObjectURL(file); var a = document.createElement('a'); a.href = fileURL; a.target = '_blank'; a.download = filename; document.body.appendChild(a); a.click(); } } }),searchOptions: $resource(ENV.apiEndpoint + "//search-options") }; });