How I Upload Images to CloudFlare R2 in Next.js Server Components (Presigned PUT)

Поділитися
Вставка
  • Опубліковано 2 січ 2025

КОМЕНТАРІ • 29

  • @MadTofan
    @MadTofan Місяць тому +2

    This video is a life saver.
    Been stuck for a really long time with this, but after solving the issue, I noticed some of my uploads had failed due to CORS issue.
    turns out it was because my key in command had a space (I was relying on the file name to define the object key).
    I ended up generating a uuid for the object key instead.

    • @coolvibes-nj2cc
      @coolvibes-nj2cc Місяць тому

      I am also stuck bro. do you mind sharing your code here?

    • @MadTofan
      @MadTofan Місяць тому +1

      @ i just followed the code in the video here. Except for the file key, I used uuid to always have a new unique one

  • @abhishekbarkade5955
    @abhishekbarkade5955 5 місяців тому

    Love you man! I was facing issue to connect with client from my node app for an whole day, found solution to my issue in few minutes only. Thank you so much 🙇‍♂

  • @Next-Js
    @Next-Js Місяць тому

    Thank you, your content helps me a lot, keep it up, cloudflare is great for me!

  • @V0LAT1LE_
    @V0LAT1LE_ 7 місяців тому

    Tom: There won't be many tutorials on this channel anymore
    Also Tom a few days later: Makes Tutorial*

    • @TomDoesTech
      @TomDoesTech  7 місяців тому +2

      This isn't really a tutorial. This is the kind of video I'll be making in the future

    • @V0LAT1LE_
      @V0LAT1LE_ 7 місяців тому

      @@TomDoesTech thats great man 😃

  • @ckhicks
    @ckhicks 5 місяців тому +2

    Thanks mate, this was helpful!

  • @andreik917
    @andreik917 4 місяці тому +2

    Could you share repo with the example ?

  • @eip408
    @eip408 5 місяців тому +1

    awesome tuts, thanks Tom 🙌! just got into some issues although I can successfully store the image into my bucket, but I cannot get the src itself and keep getting that xml error response
    edit: fixed the issue, just need to do the GetObjectCommand to retrieve the images after putting it to the bucket

    • @TomDoesTech
      @TomDoesTech  5 місяців тому +1

      @@eip408 you can either make the bucket reads public, or do the signed get request

    • @eip408
      @eip408 5 місяців тому

      ​@@TomDoesTech ohh I see, thanks Tom and appreciate for the quick response

  • @Kevinisyoung
    @Kevinisyoung 2 місяці тому

    Thank you very much for making this video

  • @naylord5
    @naylord5 7 місяців тому

    Thank you Tom for this useful video! 🔥🔥
    Could you please consider extending this with a multi file upload with individual progress?
    It would be a game changer for me.

  • @TheAliAhad
    @TheAliAhad 7 місяців тому

    Thanks, It would be great to make a tutorial about D1 also.

  • @Its-InderjeetSinghGill
    @Its-InderjeetSinghGill 5 місяців тому

    Hey, really liked this video. I have one question, What if we need to upload multiple files do we need to create multiple signed urls for that?

    • @TomDoesTech
      @TomDoesTech  5 місяців тому

      Yeah, I think you have to make multiple URLs. I haven't done it to be honest so I'm not sure

  • @eddyhernandez2475
    @eddyhernandez2475 6 місяців тому +3

    3600 seconds is an hour haha 12:57

    • @TomDoesTech
      @TomDoesTech  6 місяців тому +1

      I was thinking it was ms

  • @regilearn2138
    @regilearn2138 7 місяців тому

    How to upload files to the aws s3 bucket using lambda functions

  • @Tboy_ty
    @Tboy_ty 7 місяців тому +1

    Your font is small...kindly try to enlarge next time...thank you for all you do.

  • @reqtified
    @reqtified 4 місяці тому

    Sadly, I just get CORS issues doing this, even with a custom domain.

    • @TomDoesTech
      @TomDoesTech  4 місяці тому

      @@reqtified you're either using the wrong creds or haven't setup the cors policy. I did show what to do if you get that in the video

    • @reqtified
      @reqtified 4 місяці тому

      @@TomDoesTech totally me, sorry. It ended up having a ';' on the bucket name at the end!! Been debugging for days and only have just found it!! urgh, one of those ones XD

  • @PremJethwa-qj2mp
    @PremJethwa-qj2mp 6 місяців тому

    Hi Tom Thanks for such a helpfull video, I'm Facing one issue while accessing the image in FrontEnd using the Token (ReadOnly access)
    Here is how I'm call
    export const fetchMedia = async (url) => {
    const token = "myToken"; // Replace with your actual access token
    try {
    const response = await axios.get(url, {
    method: "GET",
    headers: {
    Authorization: `Bearer ${token}`,
    },
    });
    if (!response.ok) {
    console.error(
    `Failed to fetch media: ${response.status} ${response.statusText}`
    );
    console.error("Response details:", await response.text());
    throw new Error(`Failed to fetch media: ${response.statusText}`);
    }
    const blob = await response.blob();
    const mediaUrl = URL.createObjectURL(blob);
    return mediaUrl;
    } catch (error) {
    console.error("Error fetching media:", error);
    return null;
    }
    };

    • @TomDoesTech
      @TomDoesTech  6 місяців тому

      Why do you need to fetch the image on the frontend? I don't understand