【发布时间】:2020-05-30 22:15:04
【问题描述】:
我要做的是先上传图片,然后将链接保存到数据库中的用户。
这是我的 graphql 解析器:
resolve: async (_root, args, { user, prisma }) => {
....
const params = {
Bucket: s3BucketName,
Key: fileName,
ACL: 'public-read',
Body: file.createReadStream(),
ContentType: file.mimetype,
};
return s3.putObject(params, async function (error, data) {
if (error) {
return {
message: error,
success: false,
};
} else {
// user has updated
if (user.profileImg)
return prisma.user
.update({
where: { id: Number(user.id) },
data: {
profileImg: fileName,
},
})
.then(
(response) => {
console.log('response: ', response);
return {
message: 'Success',
success: true,
};
},
(error) => {
return {
message: error,
success: false,
};
}
);
else {
return {
message: 'Success',
success: true,
};
}
}
});
},
我想要做的是从 s3 返回,但我的问题是我认为它在没有此解析的情况下返回并返回 null,因此不返回 emmage 和成功。如何使用 s3 构造函数解析器?
【问题讨论】:
标签: javascript node.js graphql