-
Notifications
You must be signed in to change notification settings - Fork 2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uppy S3 + Golden Retriever Service Worker #4985
Comments
Apologies didn't see #4269 (comment) Any plans to implement S3 support? Would be helpful if docs were clearer on which uploader golden retriever is actually intended for? From what I just read, TUS innately supports resumable uploads, so if we were using TUS would golden retriever even be needed? |
This has been fixed: #4526 When using tus, you may not need Golden Retriever. The difference is after a browser refresh the user as to select the file again with tus and if the file fits in storage, it will be automatically loaded by Golden Retriever. |
Checkout this option, it will likely fix your issue: https://uppy.io/docs/aws-s3-multipart/#shouldusemultipartfile |
Thanks for the speedy response, appreciate the help! My example wasn't great, my project is using S3-multipart and I tried integrating Golden Retriever last night. I will update the repo to test out with dashboard shortly! I would like to achieve Resumable Uploads with S3 Multipart and looking at #2121 it looks like there has been some progress. I was looking at the source code of multipart uploader to see why it may not be working in my project, and this line (201) of code stood out to me: Is companion required to support resumable S3 multipart uploads? As users may be uploading large files, I do not want them to be stored with GR, what I would prefer is that successfully uploaded chunk metadata is stored instead, so if the same file is uploaded, we can pick up chunk metadata from where we left. |
I'm not sure this is the place for Next.js specific issues. But if you have a reproducible example in codesandbox/stackblitz, then we may be able to help. |
Ofcourse, I just wanted to know if resumable multipart s3 uploads is supported, before I bother tackling the nextjs specific issues?! By this I mean, will uppy golden retriever not store the file but store successfully uploaded chunks for me? |
It stores the files, it's up to the uploader to decide what needs to be uploaded. |
I would just like to add that for me to resume a multipart s3 upload, I don't believe a fully fledged companion server should be a necessity! Many thanks to the Uppy team regardless! I appreciate what you have built!! |
Ok I figured out the issue, resumable uploads is fully supported without companion - apologies for my false claims! Even more amazingly, it is supported exactly how I wanted it! (we locally store the successfully uploaded chunks within a file descriptor object and call listParts to compare!) The issue was from my end, for my listParts endpoint I was returning a object containing the array! I went so far as to locally develop uppy haha - this was where I saw that yes, the companion code from above was being run but it was not the source of my error. After two companion code blocks, it would go on to the listParts I mentioned earlier, it expects an array for the .find method to work and hence this was the falling point. Will update the code so it can be a good starting point for people in the future! Thanks for your patience and apologies for any confusion! 🙏 |
Initial checklist
Link to runnable example
https://github.com/mok419/uppy-next-S3-goldenRetriever/blob/main/.env.example
Steps to reproduce
Upload a large file (>100mb) and refresh the page at around 20%.
The dashboard will show that a ghost file was found, re-add the file and click upload.
Expected behavior
after refresh, the upload should continue from 20%
Actual behavior
UI shows 100% completed and 0 byte file is uploaded to S3.
The text was updated successfully, but these errors were encountered: