Я решил использовать это. Хотя я не пробовал ответы Александра, Лены и Себастьяна, я считаю, что каждый из упомянутых ими ответов также работал бы в этом случае. Большое спасибо им за быстрый ответ:
жен загрузить несколько файлов из корзины S3, используя node.js. Для этого я должен написатьfor loop
и позвонитеs3.getObject(param)
способ загрузки. После загрузки файлов я должен объединить их содержимое.
Я написал так:
var fileContentList = new ArrayList();
for(i=0; i<fileNameList.length i++){
s3.getObject({ Bucket: "my-bucket", Key: fileNameList.get(i) }, function (error, data) {
if (error != null) {
alert("Failed to retrieve an object: " + error);
} else {
alert("Loaded " + data.ContentLength + " bytes");
fileContentList.add(data.Body.toString());
}
}
);
}
//Do merging with the fileContentList.
Но, какs3.getObject
это асинхронный вызов, по которому движется текущий поток, и кfileContentList
пока я делаю слияние.
Как я могу решить проблему? Любая идея?
Есть ли какой-либо синхронный метод в aws-sdk для загрузки файла?