【问题标题】:How to download an xlsx in angular from express如何从快递下载角度的xlsx
【发布时间】:2015-07-11 08:13:48
【问题描述】:

我正在根据express 中的一些用户输入生成一个xlsx 文件。信息是通过post 请求提交的,我想通过res.download(...) 返回文件内容。

如果我这样做,我的data 响应中的data 字段中会出现“垃圾”。

我尝试使用this解决方案提示下载,但内容仍然是“垃圾”。

这是我的角度控制器:

$scope.generateSoldGoodsReport = function() { reportService.generateSoldGoodsReport({ 开始日期:$scope.startDate, 结束日期:$scope.endDate }) .then(函数(报告){ var blob = new Blob([ 报告 ], { type : 'application/xlsx' }); $scope.url = (window.URL || window.webkitURL).createObjectURL(blob); }) }

这是我的服务:

generateSoldGoodsReport:函数(日期){ var deferred = $q.defer() $http.post('/api/secure/generateSoldGoodsReport', 日期) .then(函数(响应){ deferred.resolve(response.data) }) 返回 deferred.promise }

这是我的服务器端代码:

sendFileResponse = 函数 (res) { 返回函数(错误,文件详细信息){ 如果(错误) { res.json({ 错误:1, 消息:err.message, 详细:err.errors }) } 别的 { res.download(fileDetails.path + '/' + fileDetails.fileName) } } }

【问题讨论】:

    标签: javascript angularjs node.js express


    【解决方案1】:

    最后我最终使用了一个解决方案,在post 请求中我生成了报告,当响应发送给客户端时,我向存储生成的报告的预定义位置发出了get 请求。我不喜欢这个解决方案,因为我使用了两个请求而不是一个。

    【讨论】:

      猜你喜欢
      • 2017-04-21
      • 2018-03-20
      • 1970-01-01
      • 2019-06-16
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 2019-09-07
      • 1970-01-01
      相关资源
      最近更新 更多