0

I have following scenario.

I can save files like:

profile = await Storage.put(config.profile_key, { level: 'protected' })

this works. I can also delete it:

profile = await Storage.remove(config.profile_key, { level: 'protected' })

The problem what i have is when i fetching the file

profile = await Storage.get(config.profile_key, { level: 'protected' })

My problem is that it returns an URL. But this URL does not contain any data, its just 404 error. Why does S3 returns an URL witch contains no data? In my S3 bucket, the file is actually gone.

How can i make it to return null, undefined or something like this?

Edit:

I actually found a way to check if the URl contains some Data.

try {
      await Storage.get(config.profile_key, {
        level: 'protected',
        download: true,
      })
      profile = await Storage.get(config.profile_key, { level: 'protected' })
} catch (err) {
      console.log("error: The file does not exist")
}
bill.gates
  • 14,145
  • 3
  • 19
  • 47
  • Does this answer your question? [How to determine if object exists AWS S3 Node.JS sdk](https://stackoverflow.com/questions/26726862/how-to-determine-if-object-exists-aws-s3-node-js-sdk) – Liam Feb 22 '22 at 14:43
  • Amplify's default Storage.get operation returns a pre-signed URL to an object in S3. It doesn't return the actual body. 404 is a typical web response when you have permission but a resource/object is absent. – jarmod Feb 22 '22 at 14:43

0 Answers0