bha*_*eda 5 javascript amazon-s3 amazon-web-services node.js
我正在尝试使用 AWS 节点 SDK 将音频块文件上传到 S3 或从 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);
}
});
Run Code Online (Sandbox Code Playgroud)
这是下载文件的片段。元数据不是回调数据的一部分。我尝试将回调“数据”打印到控制台,并注意到只有以下参数可用 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);
}
});
Run Code Online (Sandbox Code Playgroud)
关于我的实现有什么问题的任何指示吗?我已遵循此处提到的文档
任何帮助表示赞赏。
你的值是metaInfo
字符串吗?
引用sdk api docsMetadata
是一个字符串映射(ala ~ )。Metadata: {metaInfo: "myMetaInfoString"}
我已经使用字符串作为 的值测试了您的代码metaInfo
,并且它确实在引用下正确返回data.Metadata.metaInfo
。
归档时间: |
|
查看次数: |
8315 次 |
最近记录: |