I Fixed File Uploading.

แชร์
ฝัง
  • เผยแพร่เมื่อ 31 ธ.ค. 2024

ความคิดเห็น • 230

  • @minikame2272
    @minikame2272 ปีที่แล้ว +295

    Mate, you've got something special here. I really hope it flourishes; in the meantime, imma press F to pay my respects to your wallet while you figure the numbers out.

  • @Rico-cp4xp
    @Rico-cp4xp ปีที่แล้ว +55

    You're amazing man. Can't tell you how much I appreciate the content you make. Not only are you helping people out of the Junior Dev world, but you're building amazing tools. Keep doing you Theo. ❤

  • @serkanyersen
    @serkanyersen ปีที่แล้ว +49

    Pretty amazing, congrats!! I suggest implementing an access control layer on this. it's very convenient to see what was uploaded directly from the website, however, all uploads from all users will be open to everyone who has access to this dashboard. If you are a small to mid size start-up, "who accessed to what" should be auditable by the company and devs using the dashboard should provide a business reason if they need to access an upload. you don't want your devs to browse through user uploads just because they can. Sane privacy defaults will make a huge difference, because I assume this product might become a favorite for lots of upcoming start-ups.

  • @TJMcCarty
    @TJMcCarty ปีที่แล้ว +1

    This really is awesome! I just spent 4 hours setting up AWS S3 and realized I wasn't close to being finished. I was able to get uploadthing to work within 45 minutes.

  • @LaviGaming
    @LaviGaming ปีที่แล้ว +11

    I wonder if it makes sense to add a plugin/provider architecture here where you can choose what backend you want to actually store your data whether it's S3, your own hosted server, etc.

    • @ashishkumawat6110
      @ashishkumawat6110 11 หลายเดือนก่อน

      Absolutely! that'll make more sense specially in production...

  • @moishinetzer
    @moishinetzer ปีที่แล้ว +58

    Theo I've got to hand it to you - on the day of Vercel blob announcement, BOLD 🔥

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว +19

      I’m nothing if not bold ;)

    • @j0hannes5
      @j0hannes5 ปีที่แล้ว +1

      Yes, piggybacking is very bold!

  • @ChristopherFlodin
    @ChristopherFlodin ปีที่แล้ว +4

    Love this kind of product marketing when it's just 100% authentic "we made something awesome, you could probably benefit from this". I'm very excited to use this once it gets out, keep it up Theo and team! ❤

  • @manoku9421
    @manoku9421 ปีที่แล้ว +2

    I wonder if this covers secured GET endpoints that requires an access token to access (like presigned URLs from S3)*

  • @Disorrder
    @Disorrder ปีที่แล้ว +4

    There are absolutely no problems to upload on self-hosted server, s3, another services. There is a problem, react community have no good customisable component to handle everything. Multiple uploads, preview, progress bars, etc. I have to repeat over and over in every single project or use uploadcare the only thing.
    You’re trying to solve a problem which not exists.

    • @karlapple7275
      @karlapple7275 ปีที่แล้ว

      Share your repo.
      I’m trying to upload multiple form images

    • @rajika-imal
      @rajika-imal ปีที่แล้ว

      Exactly my thoughts

    • @blasttrash
      @blasttrash 5 หลายเดือนก่อน

      uploadcare vs uploadthing: which is better?

  • @diego1552
    @diego1552 ปีที่แล้ว +10

    Thanks for using your platform and expertise to help so many devs out. As a junior dev myself I’m still trying to figure everything out. And so far your channel has been incredibly useful.

  • @codemonument
    @codemonument ปีที่แล้ว +2

    This thing looks a
    Amazing, but I've one request: Do you have an architecture diagram to answer questions like: What runs in my app and what runs on your server? Basically a diagram about the "Lifecycle" of a file upload?
    I'm not really deep in the next ecosystem, so I've not enough info to definitively understand the parts here.

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว +3

      I made this diagram and I have not published it. This comment has inspired me to consider doing that

  • @flamakespark
    @flamakespark ปีที่แล้ว +2

    In terms of upload state management and, of course, typesafety, this will greatly improve DX for all kind of projects, and I'm so excited to try this out!
    It'd be also great to have some real-time state tracking during the upload phase, for instance, the % and ETA of uploaded file. Also the feature of upload recovery after connection reset would be really handy!

  • @method_actor
    @method_actor ปีที่แล้ว +10

    I appreciate all your great content and I hope your company flourishes. That said, I feel like this is better realized as a library where you can plug in any storage provider rather than an actual product

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว +5

      Most of the core functionality isn't possible without owning the infra. We had to build a lot of obnoxious integrations for core functionality like `onUploadComplete` to work
      That said - there may be some OSS in our future 🤐

  • @cesaro.araujo6477
    @cesaro.araujo6477 ปีที่แล้ว

    That's just SUPERB. WONDERFUL. Amazingly AWESOME. Dude, I'm gonna use it right now to make my photography blog. I hope you figure the numbers out soon tho

  • @yzz9833
    @yzz9833 ปีที่แล้ว

    this is wild, was just getting to implementing user uploads! been using your stack as well theo, best dev experience i've had

  • @pedroalonsoms
    @pedroalonsoms ปีที่แล้ว +2

    Congrats for launching this product! Hope you do well 🎉

  • @MARKOTHEDEV
    @MARKOTHEDEV ปีที่แล้ว +1

    theo keeps me up... and makes it clear building stuff is fun am coming that all am going to say for now. thanks!

    • @MARKOTHEDEV
      @MARKOTHEDEV ปีที่แล้ว

      am using upload thing today

  • @kf5268
    @kf5268 ปีที่แล้ว

    So... What about the details?
    Where the data are actually stored, what is the object size limit, what about reliability?
    Because it's nice that it's easy to add file handling to application, but there are still the boring things which are important for ie. law compliance

  • @oddfeeling7956
    @oddfeeling7956 หลายเดือนก่อน

    When will folders be implemented. Building a multitenant application now and folders would be very useful

  • @VincentUchennaOk
    @VincentUchennaOk ปีที่แล้ว +2

    Man, you are good at what you do! Kudos!!

  • @froxx93
    @froxx93 ปีที่แล้ว +3

    This is giving me goosebumps. Setting up a file server always was a pain point for me, and this is just so handy to use.
    Big thanks to you Theo, and all the other people helping make web development so much easier

  • @christianohlzon
    @christianohlzon ปีที่แล้ว +2

    How does delivery work? Is it all stored in the same place?

  • @RachidBoudjelida
    @RachidBoudjelida ปีที่แล้ว +2

    How is this better than S3 ? I am not seeing it.

  • @LukePighetti
    @LukePighetti ปีที่แล้ว +1

    Acquired by Vercel for $20m in 3... 2...

  • @henil0604
    @henil0604 ปีที่แล้ว

    Great timing! i was recently finding a service that make it easy to upload and store files. I found imagekit last week but after announcement of UploadThing, Im surely gonna use it.

  • @wlockuz4467
    @wlockuz4467 ปีที่แล้ว

    This looks good for a starter product. The biggest missing piece I notice however is access control. File upload is one problem but who, why and when someone can acces the file is another.

  • @RupluttajaGames
    @RupluttajaGames ปีที่แล้ว +1

    What if we want to allow our client to define their own file server, or define access control so only certain users can access a file?
    This seems cool and all but as far as sensitive data is concerned, this won't make the cut.

  • @cowslaw
    @cowslaw ปีที่แล้ว +11

    AWS killer? Where are you guys storing the uploaded files? lol

  • @henriquematias1986
    @henriquematias1986 ปีที่แล้ว +10

    Would be great to provide Dropbox / Google Drive / Etcs / integration so if users have their files on the cloud they don't have to use their own bandwidth!

    • @Disorrder
      @Disorrder ปีที่แล้ว +1

      And all other uploadcare features lmao

  • @losi47
    @losi47 ปีที่แล้ว

    2 days ago I was googling the best way to store user uploaded images in a nextjs site, great timing theo

  • @ilijanl
    @ilijanl ปีที่แล้ว +2

    First of all, the callback webhook approach is a very good design choice especially if you can guarantee exactly once delivery (at least at sdk level?). However, looking at the upload code it is really in early phase and probably not suited for large files (JSON.stringify({files, ...})) or even stable. Additional mechanism like resuming the upload are just not there.

  • @northdakota6
    @northdakota6 ปีที่แล้ว +1

    No you didn't. You reinvent the wheel

  • @theisoj
    @theisoj ปีที่แล้ว

    Thanks Theo! 👍
    I will be showcasing this in my other channel.

  • @Mariiius53
    @Mariiius53 ปีที่แล้ว +4

    But what about the price? One of the advantages of the S3 is its low price.
    It could also be interesting to host it yourself, if it is not planned.

    • @rajika-imal
      @rajika-imal ปีที่แล้ว

      He just reinvented S3, change my mind 🙂

    • @Mariiius53
      @Mariiius53 ปีที่แล้ว

      @@rajika-imal Totally, just, as I think he mentioned, he made it more convenient in terms of API and UI.
      More recently, Vercel Blob was announced, so yeah...

  • @thegrumpydeveloper
    @thegrumpydeveloper ปีที่แล้ว +1

    What keyrolling built in? This feature alone makes me happy.

  • @SpaceChicken
    @SpaceChicken ปีที่แล้ว +5

    Theo doing Theo things, making cool stuff. Thanks for this, man. Between this and Vercel Blob, it looks like we can continue to focus on the things that make our apps cool.

  • @cody_codes_youtube
    @cody_codes_youtube ปีที่แล้ว +9

    Very cool. Clean demo and straight to the content!

  • @llblumire
    @llblumire ปีที่แล้ว +1

    Is this next/react only or is there a vanilla js + rest way to do it?

  • @omri9325
    @omri9325 ปีที่แล้ว +1

    Wait, how safe is it that the client injects functions to the server?

  • @DihCpsPsy
    @DihCpsPsy ปีที่แล้ว

    do you have a video teaching how to create that initial config of T3 Stack (prisma + trpc) ?

  • @crowlsyong
    @crowlsyong ปีที่แล้ว

    I friggin love what you are doin right now with this and with t3. amazing.

  • @KiKaraage
    @KiKaraage 3 หลายเดือนก่อน +2

    Came from the picthing video. Woooow.

  • @akosbalint3485
    @akosbalint3485 ปีที่แล้ว

    Nice and generous service, thank you.
    Only the possibility of directories, that I am missing.

  • @asadjamilbuledi8574
    @asadjamilbuledi8574 8 หลายเดือนก่อน

    How do I set content-disposition to attachment in uploadthing?

  • @swarajbachu
    @swarajbachu ปีที่แล้ว

    want to know more about pricing plans

  • @LEGnewTube
    @LEGnewTube 4 หลายเดือนก่อน

    Looking at the documentation for this. Bit confused. Can I use this with my react application? In the docs I'm seeing "React" under Api Reference, but not under "Getting Started"

    • @t3dotgg
      @t3dotgg  4 หลายเดือนก่อน

      You need a server to use this. That’s how you authenticate users. You need something like Express or Next

  • @chrschoeni
    @chrschoeni ปีที่แล้ว

    Thank you very much for your brilliant video. Integrating is really quick. However, I haven't yet figured out how to integrate the upload into a form. Do you have a tip? I work with Prisma and API.

  • @evanskwofie2443
    @evanskwofie2443 ปีที่แล้ว

    woulda beenn great if you did with page router too..on the docs, i'm not sure where the files go. are they both in the api dir too?

  • @Pscribbled
    @Pscribbled ปีที่แล้ว +1

    Very cool product. I think I’ll try it out! Although as primarily a backend engineer, I’m a bit nervous of how the code is collocated in builder of that file router. Feels dangerous to the uninformed… like myself

  • @josefelbez5691
    @josefelbez5691 ปีที่แล้ว +1

    Hey Theo, thanks four your amazing job and content as always.
    It would be great if, instead of redirecting to your documentation page in the same tab, you could open a new tab. This way, users wouldn't have to go back to the panel if they need to access the documentation for some reason.
    Wish you the best!

  • @jeffreytgilbert
    @jeffreytgilbert ปีที่แล้ว +17

    We use uploadcare for our media uploads which comes with a slew of handy widgets for connecting to social file stores. It also has very useful rest api conventions for manipulating images and it handles all the caching and cdn work. It would be tough to beat all the bells and whistles it has for image hosting, but i can see where this would be useful for moving large zips around when needed

    • @joelwoolhead3006
      @joelwoolhead3006 ปีที่แล้ว +1

      I just checked this out thanks looks very interesting

    • @mhaidarhanif
      @mhaidarhanif ปีที่แล้ว

      Also Uploadcare's experience perform much better than the current competition such as Cloudinary, ImageKit, etc

    • @jeffreytgilbert
      @jeffreytgilbert ปีที่แล้ว

      @@mhaidarhanif it’s not perfect or as intuitive as it should be for users, but it’s leagues better than what it replaced on the site code i’m retrofitting.

    • @mhaidarhanif
      @mhaidarhanif ปีที่แล้ว

      @@jeffreytgilbert yes, even the new uploader docs can be confusing while in beta
      well each person's experience could vary, but at least it's the easiest to solve all upload issues I had

  • @tiagoernst5167
    @tiagoernst5167 ปีที่แล้ว

    Do you plan having clients for other languages ? If no is/will the npm package have a public github repo so we could make our own ?

  • @tarunsharma8442
    @tarunsharma8442 ปีที่แล้ว

    What if I want to use this this thing inside my vite react project.

  • @excalibur2417
    @excalibur2417 ปีที่แล้ว

    Image optimization would make this a 10/10, good job.

  • @sm6758
    @sm6758 ปีที่แล้ว

    It would be good to have the documentation for Javascript as well. Also, is the styling customizable?

  • @m1thrandir
    @m1thrandir ปีที่แล้ว +1

    The dashboard looks very inspired by Clerk

  • @faizanahmed9304
    @faizanahmed9304 ปีที่แล้ว +1

    Thumbnail is hilarious 😂. Salute to editor

  • @javiermelladomusica
    @javiermelladomusica ปีที่แล้ว

    Does this service allow resuming files if your internet connection is cut off?

  • @xDELTAGIx
    @xDELTAGIx ปีที่แล้ว

    I think a useful feature for video would be a encoding option in the future. And for now a needed feature is video length limit option. Most places charge by the minute for video file encoding so it’s useful to not have a 96 hour live stream uploaded

    • @everyhandletaken
      @everyhandletaken ปีที่แล้ว

      96 hour live stream.. lol
      and yes, great suggestion!

  • @lilililliilil
    @lilililliilil ปีที่แล้ว +1

    Thanks for a great invention Theo! I just wonder does it support any kind of caching methods? Cloudfront integration maybe?

  • @thund3rd3v
    @thund3rd3v ปีที่แล้ว

    THANKS, I was just looking for this you are great!!

  • @lostarrows27
    @lostarrows27 ปีที่แล้ว

    just wonder if uploadthing have rules on file size limit or request limit per second

  • @joelayoub2774
    @joelayoub2774 ปีที่แล้ว +1

    looking forward to trying this tonight. thanks

  • @saurabhgore266
    @saurabhgore266 ปีที่แล้ว

    I have tried this with t3 stack it is not working properly> may be I am missing something. can you create full tutorial for this?

  • @MLHAFAKOT
    @MLHAFAKOT ปีที่แล้ว

    hi, is there any util function for uploading multiple files from the server side ? i need to automate a multiple files upload from a lambda end point

  • @kaynkayn9870
    @kaynkayn9870 ปีที่แล้ว

    I was looking for something like this an hour ago and got this in my recommended.

  • @omagadavid9923
    @omagadavid9923 5 หลายเดือนก่อน

    Is there a way to delete files programmatically

  • @JohnNickname
    @JohnNickname ปีที่แล้ว

    I love the channel and the solutions being built but as a sysadmin/backend dev it really feels so weird to see my job wither away more and more with serverless services...

  • @thekwoka4707
    @thekwoka4707 ปีที่แล้ว

    Does it allow presigned URLs? So that the user can upload directly to upload thing without passing that data through our server?

    • @t3dotgg
      @t3dotgg  ปีที่แล้ว

      That's the only way we support uploading, it's handled under the hood so you don't have to worry about it. You're required to run code in your backend to sign the post URLs, not to actually handle the files

  • @quentinlintz
    @quentinlintz ปีที่แล้ว

    Heavily inspired by Clerk's dashboard? Very nice!

  • @riolly
    @riolly ปีที่แล้ว

    I thought it was vercel/blob, but it's something much better. Proud to be part of Theo's community

  • @palyanytsia
    @palyanytsia ปีที่แล้ว

    That would be super handy, not only for my pet projects, but client apps as well, thank you so much!

  • @real-oppenheimer
    @real-oppenheimer ปีที่แล้ว +1

    The „onUploadComplete“ is what I always wanted when integrating presigned URLs. Would be really interesting to know how it is implemented!

    • @Fixeish
      @Fixeish ปีที่แล้ว +1

      It probably is a fetch call to upload the file via the uploadthing API. When the fetch call completes (the file was uploaded successfuly), the onUploadComplete function gets called.

    • @Disorrder
      @Disorrder ปีที่แล้ว

      xhr event

    • @81NARY
      @81NARY ปีที่แล้ว

      Also, for presigned URLs (on S3 at least), you can set up a SQS queue which will fire the event on successful upload (or even other changes) and listen for that in your backend.

    • @real-oppenheimer
      @real-oppenheimer ปีที่แล้ว

      @@Fixeish Nah, whole point of presigned URLs is that you upload from the client, not the server.

    • @Fixeish
      @Fixeish ปีที่แล้ว

      @@real-oppenheimer uploadthing first uploads from the client to your website's backend and then from your website's backend to uploadthing
      OnUploadComplete is called on the your website's backend when it finishes uploading to uploadthing. If it uses a presigned url for the transfer to uploadthing or not is irrelevant (either way, the server knows when the upload is complete)

  • @manaspaul
    @manaspaul ปีที่แล้ว

    Amazing 😍. But one feedback the primary colour seems deprecated docs

  • @handling123-d7p
    @handling123-d7p ปีที่แล้ว

    Amazing. I can't wait to use it for my new app.

  • @paulmurray3244
    @paulmurray3244 ปีที่แล้ว

    Wow, awesome. Looking forward to trying it soon.

  • @kaleabmelkie
    @kaleabmelkie ปีที่แล้ว

    Can we get a SvelteKit Setup docs?

  • @jkbrodotdev
    @jkbrodotdev ปีที่แล้ว

    I went with supabase for my company's project for the reason that they had storage solution. fuck that, im using uploadthing now.

  • @himabimdimwim
    @himabimdimwim ปีที่แล้ว +1

    Phew, 4gb of free uploads per user, i hope you are ready with a few TB of storage drives ready!

  • @shattereddnb3268
    @shattereddnb3268 ปีที่แล้ว

    I´m having trouble getting this to work in a T3 App! I have pretty much just copy pasted from the docs (Page Router-section) to the correct files, and set up my .env, but I´m, getting:
    Failed to load resource: net::ERR_CONNECTION_REFUSED
    Is there something obvious I´m missing?

    • @marketingagency-u5r
      @marketingagency-u5r 3 หลายเดือนก่อน

      Did you find out yet?

    • @shattereddnb3268
      @shattereddnb3268 3 หลายเดือนก่อน

      @@marketingagency-u5r No, i went with another solution

  • @NicolásPraderi
    @NicolásPraderi ปีที่แล้ว

    ERROR! Failed to get presigned URLs im using Next pages approach, do you know why it's happening ? Thank u

    • @NicolásPraderi
      @NicolásPraderi ปีที่แล้ว

      it was the route of pages/api/uploadthig.ts, i was adding an unnecessary folder between

  • @haiffy
    @haiffy 6 หลายเดือนก่อน

    Would have been amazing if this can be self hosted

    • @t3dotgg
      @t3dotgg  6 หลายเดือนก่อน

      🤐 perhaps this is coming soon...

  • @DeveloperTrent
    @DeveloperTrent 9 หลายเดือนก่อน

    Now please do it, in production not locally :D

  • @thisbridgehascables
    @thisbridgehascables 9 หลายเดือนก่อน

    I can’t access the upload thing website?? It says not available.. any update?
    Edited: odd my WiFi was blocking the upload thing website.. that so weird, go it unblocked.

  • @willbdev
    @willbdev หลายเดือนก่อน

    Thanks. I love uploadthing!!

  • @codernoel
    @codernoel ปีที่แล้ว

    Does anyone know which theme is he using for his VS Code? Looks really dope.

  • @davidb.6271
    @davidb.6271 ปีที่แล้ว

    You're awesome, but what have you solved? Seems very similar to upload with R2 with a react dropzone.

  • @alalala132whyisthishandletaken
    @alalala132whyisthishandletaken ปีที่แล้ว

    what's the backing storage for this? s3? presumably not since you want to provide object storage a bit cheaper, right?

    • @amorto3420
      @amorto3420 ปีที่แล้ว

      It will be more expensive than s3 I think.
      Since it's providing good dev experience, It will be expensive.
      I'll probably use r2 since it has no egress fee.

  • @KhaUh
    @KhaUh ปีที่แล้ว

    hey man what about outside of the t3 stack is there a way to use it with an api? from a let say lamda function?

  • @noname13345
    @noname13345 11 หลายเดือนก่อน +1

    fixed? is it a feature that the upload sometimes work and sometime doesnt, with an error message thats not very helpful?

  • @bansh3ee
    @bansh3ee ปีที่แล้ว

    dark VSCode and the rest is light? muh eyes!

  • @colton923
    @colton923 ปีที่แล้ว +1

    I finally found my reason to subscribe. Making a really useful tool, and explaining how it works immediately is the most engineer thing. Glad you didn’t cut the video after selling me on an awesome idea.

  • @jameshonour7661
    @jameshonour7661 11 หลายเดือนก่อน

    I used Uploadthing to upload my pdf files in my SaaS application on next js 14 and it worked fine locally but not after deploy.

    • @canra245
      @canra245 7 หลายเดือนก่อน

      Me too. image is uploaded, but the callback just return "still waiting"

    • @blasttrash
      @blasttrash 5 หลายเดือนก่อน +1

      its not a proper product. Their docs suck. For all the hype of making dev experience better, it makes it worse with too much abstraction and its not even easy to get started. At least that was my experience. Do you guys have any other suggestions for similar products?

    • @canra245
      @canra245 5 หลายเดือนก่อน

      @@blasttrash alternative, u can using uploadcare instead uploadthing

  • @AndrewRomano-k6h
    @AndrewRomano-k6h 9 หลายเดือนก่อน

    And now the uoloadthing site is not operating.. why is it down?

  • @lightninginmyhands4878
    @lightninginmyhands4878 ปีที่แล้ว +1

    File stuff?
    We got got S3 things made I think… 😅

  • @chswin
    @chswin ปีที่แล้ว

    How can it process authN/authZ ?

  • @josemfcheo
    @josemfcheo ปีที่แล้ว

    Great job man, cheers from Venezuela!

  • @bastothemax
    @bastothemax ปีที่แล้ว

    What about the pricing?

  • @jacoblockwood4034
    @jacoblockwood4034 ปีที่แล้ว

    Thanks for finally making file uploads easy

  • @ThePrician
    @ThePrician ปีที่แล้ว

    Off-topic: your audio seems to have lowered in quality/volume as of late.