![](/img/trans.png)
[英]How to download file from AWS S3 using getObject in Reactjs?
[英]How to retrieve the Metadata from nodejs aws s3 getObject callback data?
我正在嘗試使用 AWS 節點 SDK 向/從 S3 上傳/下載音頻塊文件。 我嘗試過 base64 方法,效果很好。 但是我無法取回作為上傳參數的一部分捆綁的元數據。
以下是上傳元信息的代碼片段:
var myMetaInfo = "AdditionalInfo", dataToUpload = {Bucket: bucketName, Key:storageFolderFullPath , Body: myAudioFile.toString('base64'), Metadata: {metaInfo: myMetaInfo}};
s3.client.putObject(dataToUpload, function(err, data) {
if (!err) {
console.log("Successfully uploaded the file to ::" + dataToUpload.Bucket);
} else {
console.log(" **** ERROR while uploading ::"+err);
}
});
這是下載文件的片段。 元數據不是回調數據的一部分。 我嘗試將回調“數據”打印到控制台,並注意到只有以下參數可用 LastModified、ContentType、ContentLength、ETag、Body、RequestId
var dataToDownload = {Bucket: bucketName, Key: storageFolderFullPath}, originalFile, myMetaInfo;
s3.client.getObject(dataToDownload, function(err, data) {
if (!err) {
originalFile = new Buffer(data.Body, 'base64');
myMetaInfo = data.Metadata.metaInfo;
console.log(" Meta info:: " + myMetaInfo);
fs.writeFile(fileStoragePath, originalFile, function(err) {
if (!err) {
console.log(" File written!! ");
} else {
console.log(" Error while writing the file !!" + err);
}
});
} else {
console.log(" **** ERROR while downloading ::"+err);
}
});
關於我的實現有什么問題的任何指示? 我遵循了這里提到的文檔
任何幫助表示贊賞。
你的metaInfo
值是一個字符串嗎?
參考sdk api 文檔, Metadata
是一個字符串映射(ala ~ Metadata: {metaInfo: "myMetaInfoString"}
。我已經使用字符串作為metaInfo
的值測試了您的代碼,它確實在data.Metadata.metaInfo
下正確返回參考。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.