diff --git a/packages/api/server/controllers/user.js b/packages/api/server/controllers/user.js index 947c915..b073f78 100644 --- a/packages/api/server/controllers/user.js +++ b/packages/api/server/controllers/user.js @@ -250,10 +250,10 @@ exports.updateAvatar = async (req, res) => { const { avatar } = profile; console.log('userId:', userId, ', avatar:', avatar); if (avatar) { - await s3Service.deleteAvatar(avatar); + await s3Service.deleteAvatar(avatar.substring(avatar.lastIndexOf('/') + 1)); } - await profile.update({ avatar: filename }); + await profile.update({ avatar: s3Service.getAvatarUrl(filename) }); return res.status(200).json({ code: 200, diff --git a/packages/api/server/services/s3.service.js b/packages/api/server/services/s3.service.js index 7151227..9cd9f55 100644 --- a/packages/api/server/services/s3.service.js +++ b/packages/api/server/services/s3.service.js @@ -10,6 +10,7 @@ const AWS_S3_CONFIG = { }; const Bucket = 'workly-images'; +const baseUrl = 'https://workly-images.s3.amazonaws.com/'; const originalPath = 'avatars/original/'; const thumbPath = 'avatars/thumb/'; @@ -38,12 +39,16 @@ exports.getOriginalPath = () => { return originalPath; }; -exports.deleteAvatar = async avatar => { - console.log('avatar:', avatar); +exports.getAvatarUrl = filename => { + return baseUrl + thumbPath + filename; +}; + +exports.deleteAvatar = async filename => { + console.log('filename:', filename); try { const s3 = createS3Instance(); - await deleteFile(s3, `${originalPath}${avatar}`); - await deleteFile(s3, `${thumbPath}${avatar}`); + await deleteFile(s3, `${originalPath}${filename}`); + await deleteFile(s3, `${thumbPath}${filename}`); } catch (error) { console.log(error); }