我有一个处理来自Web API调用的二进制响应的服务:
$http.get('/endpoint', {
params: urlparams,
transformResponse: transform,
responseType: 'arraybuffer'
});
我正在尝试使用$ httpBackend进行测试:
$httpBackend.expectGET('/endpoint').respond(200, data);
但它不起作用,因为数据会自动转换为JSON,而我找不到在responseType
调用中指定expectGET
的方法。
如何让expectGET
为$http.get
电话提供二进制回复?我尝试将data
转换为ArrayBuffer
无效。
答案 0 :(得分:0)
我遇到了类似的问题并使用过:
$httpBackend.expectGET('/endpoint').respond(200, new Blob([data]));
然而,我必须从1.x将PhantomJs更新为2.x才能工作。