javascript – 如何从nodejs aws s3 getObject回调数据中检索元数据?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 如何从nodejs aws s3 getObject回调数据中检索元数据?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1585字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 如何从nodejs aws s3 getObject回调数据中检索元数据?](/upload/InfoBanner/zyjiaocheng/699/8f8d861418a243338cb36c46a3662601.jpg)
我正在尝试使用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);
}
});
这是下载文件的片段.元数据不是回调数据的一部分.
我尝试将回调’数据’打印到控制台,并注意到只有以下参数可用
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);
}
});
有关我的实现有什么问题的指示?我已经按照here提到的文档
任何帮助表示赞赏.
解决方法:
你的metaInfo值是一个字符串吗?
引用sdk api docs,Metadata是一个字符串映射(ala~Metadata:{metaInfo:“myMetaInfoString”}.我已经使用字符串作为metaInfo的值测试了您的代码,它确实在data.Metadata.metaInfo参考下正确返回.
内容总结
以上是互联网集市为您收集整理的javascript – 如何从nodejs aws s3 getObject回调数据中检索元数据?全部内容,希望文章能够帮你解决javascript – 如何从nodejs aws s3 getObject回调数据中检索元数据?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。