Я генерирую файл xlsx
на основе некоторого пользовательского ввода в express
. Информация отправляется через запрос post
, и я хотел вернуть содержимое файла через res.download(...)
.Как загрузить xlsx в угловом из выражения
Если я это сделаю, я получаю «мусор» в поле data
моего ответа ajax
.
Я попытался запросить загрузку с помощью решения this, но контент по-прежнему «мусор».
Это мой угловой регулятор:
$scope.generateSoldGoodsReport = function() { reportService.generateSoldGoodsReport({ startDate: $scope.startDate, endDate: $scope.endDate }) .then(function(report){ var blob = new Blob([ report ], { type : 'application/xlsx' }); $scope.url = (window.URL || window.webkitURL).createObjectURL(blob); }) }
и вот моя служба:
generateSoldGoodsReport: function (dates) { var deferred = $q.defer() $http.post('/api/secure/generateSoldGoodsReport', dates) .then(function(response){ deferred.resolve(response.data) }) return deferred.promise }
и вот мой сервер код сторона:
sendFileResponse = function (res) { return function (err, fileDetails) { if (err) { res.json({ error: 1, message: err.message, detailed: err.errors }) } else { res.download(fileDetails.path + '/' + fileDetails.fileName) } } }