我正在使用vuejs,nodejs和S3从S3上载和检索图像,现在上载和下载部分功能完善,然后我需要在我的情况下针对某个路径上载图像
BucketName/account/{DynamicID}/renewal/{Filename}
让我告诉你代码
async returnsFilesFromBucketFolders(path) {
// Create Cognito Web Identity Federation credentials
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
IdentityPoolId: VytalEntitiesURL.cognito.IDENTITY_POOL_ID,
Logins: {
// pass Cognito token here
[`cognito-idp.us-east-1.amazonaws.com/${VytalEntitiesURL.cognito.USER_POOL_ID}`] : (await Auth.currentSession()).getIdToken().getJwtToken()
}
});
AWS.config.region = "us-east-1"
// call in case STS credentials are expired by the moment
await AWS.config.credentials.getPromise()
const s3 = new AWS.S3({region: 'us-east-1'});
const s3Params = {
Bucket: "BucketName",
Prefix:path
// Prefix: 'account/40/renewal'
};
let res=await s3.listObject(s3Params,async (err,data) => {
console.log("ignore "+err);
// console.log(data.response)
return data;
})
return res;
},
上面的函数写为main.js下的mixin,该函数本身工作正常,可以返回数据,但问题是遍历它。下面是该函数返回的数据。
从上面可以看到,响应是类型响应,我尝试使用JSON.parse
和标准data.response
进行许多其他操作,但仍然无法从中提取数据!有帮助吗?