janko / uppy-s3_multipart

Provides Ruby endpoints for AWS S3 multipart uploads in Uppy
https://uppy.io/docs/aws-s3/
MIT License
65 stars 21 forks source link

Multipart Presign not working in Rails 5 #8

Closed atinder closed 5 years ago

atinder commented 5 years ago

In the rails console I just see Started POST "/s3/multipart" for ::1 at 2019-01-19 12:54:06 +0530 And nothing happens after that. Uppy JS client says 404 not found URL.

Added byebug to check the flow. The request goes until here https://github.com/janko-m/uppy-s3_multipart/blob/master/lib/uppy/s3_multipart/app.rb#L34 by doesn't enter the post true block here https://github.com/janko-m/uppy-s3_multipart/blob/master/lib/uppy/s3_multipart/app.rb#L36

janko commented 5 years ago

Which setup and gem version are you using? Note that the README shows mounting the endpoint on "/s3/multipart", which only works on uppy_s3_multipart 0.2.0+; on prior versions you need to mount to "/s3".

atinder commented 5 years ago
gem "shrine", "~> 2.11"
gem "aws-sdk-s3", "~> 1.2"
gem "uppy-s3_multipart", "~> 0.2"

This is my gemfile list. /s3 does works. Thanks :)

janko commented 5 years ago

If the /s3/multipart mount point doesn't work and /s3 does, but you're using version 0.2+, then I would need an example Rails app that shows this behaviour in order to give an answer why. I tried to reproduce it in a Roda app but wasn't able to. We'll see if other people encounter the same problem.

jrochkind commented 5 years ago

I think you can explicitly tell uppy the mountpoint you will be using, in a way that will work regardless of what version of dependencies you are using? But not certain, or how.

janko commented 5 years ago

I think the issue here is not that Uppy the JS library is hitting the wrong endpoints. It appears it's hitting the correct POST "/s3/multipart" endpoint, but the Rails app is returning 404.

yonahforst commented 5 years ago

I'm getting the same error with the full /s3/multipart. just /s3 works for me

janko commented 5 years ago

Thanks for reporting. I found where the issue was, and released a new version, so now mounting on /s3/multipart should work with Rails.