【发布时间】:2019-07-03 04:14:19
【问题描述】:
我正在尝试将音频 (mp3) 文件从 AWS S3 下载到本地计算机。当我在本地主机上执行时它工作正常,但在将相同的代码部署到 AWS 之后。它正在将文件下载到服务器机器而不是用户的本地机器。
试过这两个版本。两者都在做同样的事情
版本 1:
const key = track.audio_transcode_filename.substring(20);
var s3Client = knox.createClient(envConfig.S3_BUCKET_TRACKS);
const os = require('os');
const downloadPath = os.homedir().toString();
const config =require('../../config/environment');
const fs = require('fs');
var filePath=downloadPath + "\\Downloads\\" + track.formatted_title + ".mp3";
if (fs.existsSync(filePath)) {
var date = new Date();
var timestamp = date.getTime();
filePath=downloadPath + "\\Downloads\\" + track.formatted_title + "_" + timestamp + ".mp3";
}
const file = fs.createWriteStream(filePath);
s3Client.getFile(key, function(err, res) {
res.on('data', function(data) { file.write(data); });
res.on('end', function(chunk) { file.end(); });
});
版本 2:
var audioStream = '';
s3Client.getFile(key, function(err, res) {
res.on('data', function(chunk) { audioStream += chunk });
res.on('end', function() { fs.writeFile(filePath + track.formatted_title + ".mp3", audioStream, 'binary')})
});
谢谢, 坎特
【问题讨论】:
标签: node.js amazon-s3 download stream