I Fixed File Uploading.

Ғылым және технология

CHECK OUT UPLOADTHING uploadthing.com
We were tired of AWS's offerings with S3, and we weren't satisfied by what Cloudflare offered with R2 or even Vercel's Blob offering. I think we have something special here.
GIVE MARK SOME LOVE FOR DEALING WITH MY BS / r_marked
ALL MY VIDEOS ARE POSTED EARLY ON PATREON / t3dotgg
Everything else (Twitch, Twitter, Discord & my blog): t3.gg/links

Пікірлер: 214

  • @minikame2272
    @minikame2272 Жыл бұрын

    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 Жыл бұрын

    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 Жыл бұрын

    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.

  • @diego1552
    @diego1552 Жыл бұрын

    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.

  • @pedroalonsoms
    @pedroalonsoms Жыл бұрын

    Congrats for launching this product! Hope you do well 🎉

  • @LaviGaming
    @LaviGaming Жыл бұрын

    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

    5 ай бұрын

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

  • @flamakespark
    @flamakespark Жыл бұрын

    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!

  • @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

  • @KhauTek
    @KhauTek Жыл бұрын

    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?

  • @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.

  • @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

  • @christianohlzon
    @christianohlzon Жыл бұрын

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

  • @VincentUchennaOk
    @VincentUchennaOk Жыл бұрын

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

  • @crowlsyong
    @crowlsyong Жыл бұрын

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

  • @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

  • @TJMcCarty
    @TJMcCarty11 ай бұрын

    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.

  • @ChristopherFlodin
    @ChristopherFlodin Жыл бұрын

    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! ❤

  • @llblumire
    @llblumire Жыл бұрын

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

  • @manoku9421
    @manoku9421 Жыл бұрын

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

  • @thund3rd3v72
    @thund3rd3v72 Жыл бұрын

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

  • @joelayoub2774
    @joelayoub2774 Жыл бұрын

    looking forward to trying this tonight. thanks

  • @lilililliilil
    @lilililliilil Жыл бұрын

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

  • @asadjamilbuledi8574
    @asadjamilbuledi85742 ай бұрын

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

  • @javiermelladomusica
    @javiermelladomusica Жыл бұрын

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

  • @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?

  • @saurabhgore266
    @saurabhgore26611 ай бұрын

    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?

  • @DihCpsPsy
    @DihCpsPsy Жыл бұрын

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

  • @josefelbez5691
    @josefelbez5691 Жыл бұрын

    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!

  • @RohitMishrarvr
    @RohitMishrarvr Жыл бұрын

    Curious on what's the tech underneath uploadthing?

  • @omri9325
    @omri9325 Жыл бұрын

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

  • @shattereddnb3268
    @shattereddnb32689 ай бұрын

    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?

  • @moishinetzer
    @moishinetzer Жыл бұрын

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

  • @t3dotgg

    @t3dotgg

    Жыл бұрын

    I’m nothing if not bold ;)

  • @j0hannes5

    @j0hannes5

    Жыл бұрын

    Yes, piggybacking is very bold!

  • @losi47
    @losi47 Жыл бұрын

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

  • @method_actor
    @method_actor Жыл бұрын

    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

    Жыл бұрын

    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 🤐

  • @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 ?

  • @palyanytsia
    @palyanytsia Жыл бұрын

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

  • @chrschoeni
    @chrschoeni8 ай бұрын

    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.

  • @akosbalint3485
    @akosbalint3485 Жыл бұрын

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

  • @GiacomoCerquone
    @GiacomoCerquone Жыл бұрын

    differences with uppy or cloudinary?

  • @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

  • @MARKOTHEDEV
    @MARKOTHEDEV Жыл бұрын

    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

  • @user-hb2fb8qm8j
    @user-hb2fb8qm8j Жыл бұрын

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

  • @user-hb2fb8qm8j

    @user-hb2fb8qm8j

    Жыл бұрын

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

  • @cody_codes_youtube
    @cody_codes_youtube Жыл бұрын

    Very cool. Clean demo and straight to the content!

  • @Pscribbled
    @Pscribbled Жыл бұрын

    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

  • @tarunsharma8442
    @tarunsharma8442 Жыл бұрын

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

  • @hansiboy5348
    @hansiboy5348 Жыл бұрын

    This looks amazing. Great job Theo

  • @paulmurray3244
    @paulmurray3244 Жыл бұрын

    Wow, awesome. Looking forward to trying it soon.

  • @PedroSanchez-od7cc
    @PedroSanchez-od7cc Жыл бұрын

    I'm definitely going to use this in my project

  • @thegrumpydeveloper
    @thegrumpydeveloper Жыл бұрын

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

  • @Disorrder
    @Disorrder Жыл бұрын

    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

  • @RajikaImalNg

    @RajikaImalNg

    Жыл бұрын

    Exactly my thoughts

  • @sm6758
    @sm6758 Жыл бұрын

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

  • @davidb.6271
    @davidb.6271 Жыл бұрын

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

  • @RachidBoudjelida
    @RachidBoudjelida Жыл бұрын

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

  • @lostarrows27
    @lostarrows27 Жыл бұрын

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

  • @coreyarch123
    @coreyarch123 Жыл бұрын

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

  • @Trzimajewski
    @Trzimajewski Жыл бұрын

    awesome job! will use it soon

  • @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.

  • @faizanahmed9304
    @faizanahmed9304 Жыл бұрын

    Thumbnail is hilarious 😂. Salute to editor

  • @RupluttajaGames
    @RupluttajaGames Жыл бұрын

    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.

  • @josemfcheo
    @josemfcheo Жыл бұрын

    Great job man, cheers from Venezuela!

  • @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!

  • @ilijanl
    @ilijanl Жыл бұрын

    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.

  • @thisbridgehascables
    @thisbridgehascables3 ай бұрын

    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.

  • @kaynkayn9870
    @kaynkayn9870 Жыл бұрын

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

  • @jacoblockwood4034
    @jacoblockwood4034 Жыл бұрын

    Thanks for finally making file uploads easy

  • @chswin
    @chswin Жыл бұрын

    How can it process authN/authZ ?

  • @theisoj
    @theisoj Жыл бұрын

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

  • @codemonument
    @codemonument Жыл бұрын

    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

    Жыл бұрын

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

  • @aghileslounis
    @aghileslounis Жыл бұрын

    I love it! great ideas Theo !

  • @mormantu8561
    @mormantu8561 Жыл бұрын

    Is there a reason, beside potential capitalization, for not publishing this is a library or integrating it with the T3 stack? Just curious, I don't mind you wanting to earn something from your hard work. :)

  • @JoRyGu

    @JoRyGu

    Жыл бұрын

    I kind of doubt it would be super easy to make something this streamlined if it were a lib that required you to spin up a server. Plus, money.

  • @froxx93
    @froxx93 Жыл бұрын

    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

  • @alimejbar6304
    @alimejbar6304 Жыл бұрын

    Is support for private pre signed urls and public planned ?

  • @williamx0

    @williamx0

    Жыл бұрын

    You would use S3 if you want presigned urls....

  • @KrishnaGupta-cv7ix
    @KrishnaGupta-cv7ix Жыл бұрын

    Thanks for everything ❤

  • @_kadirmetin
    @_kadirmetin9 ай бұрын

    Thanks for the amazing solution!!!

  • @bastothemax
    @bastothemax Жыл бұрын

    What about the pricing?

  • @stmasanti
    @stmasanti Жыл бұрын

    I love this!! I’m gonna try it🎉

  • @m1thrandir
    @m1thrandir Жыл бұрын

    The dashboard looks very inspired by Clerk

  • @noname13345
    @noname133455 ай бұрын

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

  • @mehulsharmamat
    @mehulsharmamat Жыл бұрын

    OMFG I LOVE YOU FOR THIS!

  • @swarajbachu
    @swarajbachu Жыл бұрын

    want to know more about pricing plans

  • @kaleabmelkie
    @kaleabmelkie Жыл бұрын

    Can we get a SvelteKit Setup docs?

  • @SpaceChicken
    @SpaceChicken Жыл бұрын

    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.

  • @user-sb9nt9ho6d
    @user-sb9nt9ho6d3 ай бұрын

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

  • @codernoel
    @codernoel Жыл бұрын

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

  • @bertrodgers2420

    @bertrodgers2420

    Жыл бұрын

    Poimandres

  • @codernoel

    @codernoel

    Жыл бұрын

    @@bertrodgers2420 Thanks man.

  • @ulrich-tonmoy
    @ulrich-tonmoy Жыл бұрын

    really a great thing finally a simple file uploading

  • @LukePighetti
    @LukePighetti Жыл бұрын

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

  • @riolly
    @riolly Жыл бұрын

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

  • @cowslaw
    @cowslaw Жыл бұрын

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

  • @everyhandletaken

    @everyhandletaken

    Жыл бұрын

    Synology NAS in his basement 😆

  • @henriquematias1986
    @henriquematias1986 Жыл бұрын

    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

    Жыл бұрын

    And all other uploadcare features lmao

  • @mihai10stoica
    @mihai10stoica Жыл бұрын

    Last night I was looking for file upload solutions and today I wake up to this 😂

  • @niomeda
    @niomeda Жыл бұрын

    Good Job and Thank you!

  • @soulninjadev
    @soulninjadev Жыл бұрын

    i tried this and it's so cool!

  • @swarajbachu
    @swarajbachu Жыл бұрын

    daamn!! you are just amazing dude

  • @northdakota6
    @northdakota6 Жыл бұрын

    No you didn't. You reinvent the wheel

  • @quentinlintz
    @quentinlintz Жыл бұрын

    Heavily inspired by Clerk's dashboard? Very nice!

  • @excalibur2417
    @excalibur241710 ай бұрын

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

  • @DerberAlter
    @DerberAlter Жыл бұрын

    wow thats awesome! thanks man

  • @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

  • @madebyjonny7637
    @madebyjonny7637 Жыл бұрын

    Great work 👏

  • @real-oppenheimer
    @real-oppenheimer Жыл бұрын

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

  • @Fixeish

    @Fixeish

    Жыл бұрын

    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)

Келесі