0
我碰到一個問題$ http用調用responseType:blob。 我想在JSON中處理錯誤響應,但是即使將響應的內容類型設置爲「application/json」在服務器上,我也會獲得blob數據。
$http.post(url, data, {responseType: 'blob'})
.then(function(response) {
// download the file (works fine)
})
.catch(function(error) {
// handle JSON response error
});
有沒有辦法做到這一點,但不嘗試convert error data反對?
。那麼()函數可以以更有效的方式...。然後(功能(響應){}功能(錯誤使用){的console.log(誤差);});在console.log()中,你會以你想要的方式得到它。然後你可以處理它。 –
謝謝,但我的項目約定是使用then()。catch()而不是then(onSuccess,onError)。不幸的是,它並沒有改變onError回調中的數據仍然是blob類型的事實。 –
你可以嘗試$ http({method:'GET',url:Restangular.one('attachments',idAtt).getRestangularUrl(), header:{'X-Auth-Token':token},responseType:'blob '})。then(function(response){url =(window.URL || window.webkitURL).createObjectURL(response.data); window.open(url); }); –