I am new to reactjs want to upload image on s3, But don't know how it would work... And don't know where will I get the image path come from aws (in which function)?
Here is my react code
import ApiClient from './ApiClient'; // where it comes from? function getSignedUrl(file, callback) { const client = new ApiClient(); const params = { objectName: file.name, contentType: file.type }; client.get('/my/signing/server', { params }) // what's that url? .then(data => { callback(data); // what should I get in callback? }) .catch(error => { console.error(error); }); } My server file Server.js
AWS.config.setPromisesDependency(Bluebird) AWS.config.update({ accessKeyId: 'accessKey', secretAccessKey: 'secret', region: 'ap-south-1' }) const s3 = new AWS.S3({ params: { Bucket: 'Bucketname' }, signatureVersion: 'v4' }) class S3Service { static getPreSignedUrl(filename, fileType, acl = 'public-read') { return new Bluebird(resolve => { const signedUrlExpireSeconds = 30000 return resolve({ signedRequest : s3.getSignedUrl('putObject', { Key: "wehab/"+filename, ContentType:"multipart/form-data", Bucket: config.get('/aws/bucket'), Expires: signedUrlExpireSeconds }), url : `https://${config.get('/aws/bucket')}.s3.amezonaws.com/wehab/${filename}` }) }) } }