1
我正在嘗試使用角度資源來獲取二進制文件。我可以用http.get來做到這一點。從角度資源獲取二進制文件
return $http.get("http://localhost:8080/users/my_user/avatar", {responseType:'arraybuffer'});
這將返回文件的字符串。這就是我想要的。
當嘗試使用資源:
var resource4 = $resource('/users/:userId/avatar',{},{'get':{method:'GET',cache:false,responseType:'arraybuffer'},'getCached':{method:'GET',cache:true,responseType:'arraybuffer'}, 'postList':{method:'POST', isArray:true}});
我返回一個對象與get方法在這裏:
getAvatar: function(userId, successCallback, errorCallback) {
var requestData = { userId: convertValueForRest(userId)};
return resource4.get(requestData, successCallback, errorCallback);
}
然後,我把它注射到服務,並使之通過:
function getAvatar(user){
return UserDetailsInterface.getAvatar(user);
}
我從$ promise獲取數據:
UserPreferences.getAvatar(userName).$promise
.then(function success(image){
返回的是將文件的字符拆分成一個巨大的數組。我真的不知道爲什麼。
嘗試設置'IsArray的:在獲取配置 – tymeJV
似乎並沒有得以順利返回FALSE。如果省略,我認爲這是數組默認爲false。 –