使用Angular和node.js从Amazon S3存储桶下载文件

时间:2015-12-22 08:03:23

标签: angularjs node.js amazon-s3

当我点击Masters.xls(在html页面下面)时,我必须从Amazon S3存储桶下载Masters.xls文件。 注意:我的AWS桶中存在Masters.xls文件。

我的HTML代码:

<div ng-app="" ng-controller="DataImportControl">
 <div ng-click="downloadFile()"> Masters.xls</div> 
</div>

控制器:

'use strict';


angular.module('app')

    .controller('DataImportControl', ['$scope','$http' , function($scope, $http) {

       $scope.downloadFile = function(){


         $http.post('/getfile').success(function(data) {


                  console.log("success.."+data);

                     }).error(function(response) {

                      console.error("error in posting");
                      });

    };

    }])

Server.js:

app.post('/getfile', function(req, res, next){

 var AWS = require('aws-sdk');
    AWS.config.update(
      {
        accessKeyId: "my access key",
        secretAccessKey: "my secret key",
        region: 'my region'
      });


var s3 = new AWS.S3();
var s3Params = {
    Bucket: 'my bucket name',
    Key: 'Masters.xls'
};
s3.getObject(s3Params, function(err, data) {
if (err === null) {
   res.attachment('Masters.xls'); // or whatever your logic needs
   res.send(data.Body);
      } else {
   res.status(500).send(err);
      }

      });
});

它只是在控制器中发送Masters文件的数据。如何在默认情况下或在他想要的任何地方将其下载到用户的下载文件夹中?

0 个答案:

没有答案