Amazon S3 Access image by url

This is an older question, but for anybody who comes across this question, once I made the file public I was able to access my image as https://mybucket.s3.amazonaws.com/myfolder/afile.jpg


in my case i have uploaded image privately so that i was unable to access. i did following code

const AWS = require('aws-sdk')
const myBucket = 'BUCKET_NAME'
  const myKey = 'FILE_NAME.JPG'
  const signedUrlExpireSeconds = 60 * 1
  const s3 = new AWS.S3({
    accessKeyId: "ACCESS_KEY_ID",
    signatureVersion: 'v4',
    region: 'S3_REGION',
    secretAccessKey: "ACCESS_SECRET"
  });

  const url = s3.getSignedUrl('getObject', {
      Bucket: myBucket,
      Key: myKey,
      Expires: signedUrlExpireSeconds
  })

  console.log(url)

You can access your image by using:

https://s3.amazonaws.com/bucketname/foldername/imagename.jpg

or if there are no folders, you can do:

https://s3.amazonaws.com/bucketname/imagename.jpg

upvote if helps. It conforms to present AWS dated 30 may 2017.


Seems like you can now simply right-click on any folder inside a bucket and select 'Make Public' to make everything in that folder public. It may not work at the bucket level itself.

Tags:

Amazon S3