Я пытаюсь использовать угловой ресурс для получения двоичного файла. Я могу сделать это с помощью 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}});
Я возвращает объект с методом получить здесь:
getAvatar: function(userId, successCallback, errorCallback) {
var requestData = { userId: convertValueForRest(userId)};
return resource4.get(requestData, successCallback, errorCallback);
}
Тогда я впрыскивать его в службу и передать его через:
function getAvatar(user){
return UserDetailsInterface.getAvatar(user);
}
Я беру данные от $ обещают здесь:
UserPreferences.getAvatar(userName).$promise
.then(function success(image){
Что возвращается, символы файла разделены на огромный массив. Я действительно не знаю, почему.
Попробуйте установить 'IsArray: false' в ГЭТ конфигурации – tymeJV
Это не похоже на работу. Я думал, что isArray по умолчанию false, если не указано. –