大佬教程收集整理的这篇文章主要介绍了node.js – NodeJS如何从aws s3文件桶下载文件到磁盘?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的问题:
我正在使用awssum-amazon-s3来创建一个下载流.但是,我只是将文件保存到我的服务器或将其传输到命令行…从我的代码可以看出,我最后一次尝试手动设置失败的内容配置头.我已经设置了头文件,不能使用res.download()
如何实现我的目标?
我的节点代码
app.post('/dls/:dlKey',function(req,res,next){ // download the file via aws s3 here var dlKey = req.param('dlKey'); Dl.findOne({key:dlKey},function(err,dl){ if (err) return next(err); var files = dl.dlFile; var options = { BucketName : 'xxxx',ObjectName : files,}; s3.GetObject(options,{ stream : true },data) { // stream this file to stdout fmt.sep(); data.Headers['Content-Disposition'] = 'attachment'; console.log(data.Headers); data.Stream.pipe(fs.createWriteStream('test.pdf')); data.Stream.on('end',function() { console.log('File Downloaded!'); }); }); }); res.end('successful Download Post!'); });
我的代码为角:
$scope.dlComplete = function (dl) { $scope.procDownload = true; $http({ method: 'POST',url: '/dls/' + dl.dlKey }).success(function(data/*,status,headers,config*/) { console.log(data); $LOCATIOn.path('/#!/success'); }).error(function(/*data,config*/) { console.log('File download Failed!'); }); };
var express = require('express'); var app = express(); var fs = require('fs'); app.get('/',next){ res.send('You did not say the magic word'); }); app.get('/s3Proxy',next){ // download the file via aws s3 here var fileKey = req.querY['fileKey']; console.log('Trying to download file',fileKey); var AWS = require('aws-sdk'); AWs.config.update( { accessKeyId: "....",secretAccessKey: "...",region: 'ap-southeast-1' } ); var s3 = new AWs.S3(); var options = { Bucket : '/bucket-url',Key : fileKey,}; res.attachment(fileKey); var fileStream = s3.getObject(options).createReadStream(); fileStream.pipe(res); }); var server = app.listen(3000,function () { var host = server.address().address; var port = server.address().port; console.log('S3 Proxy app listening at http://%s:%s',host,port); });
以上是大佬教程为你收集整理的node.js – NodeJS如何从aws s3文件桶下载文件到磁盘?全部内容,希望文章能够帮你解决node.js – NodeJS如何从aws s3文件桶下载文件到磁盘?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。