Comments (3)
When the user requests a signed URL, your backend is providing the path to PUT
the file to S3, so you should know how to build the public image URL from an image name, no? So when you save the image to the backend, it can rebuild the public URL from the image name.
The bundled s3router.js
file provides an endpoint for you to provide the image name, and it will redirect to the public URL. You could do the same in your RoR code.
So what our application does is:
- Client provides image name, and asks for a location to
PUT
in S3 - Server prefixes the path to S3, signs the URL, and returns the data
- Client
PUT
s to S3 - Client sends image name to server for storage
- When request image, client provides image name to
/s3/img/{imageName}
- Server prefixes
imageName
with path to S3, and sends a redirect (or simply proxies the image in some cases)
Does that make sense?
from react-s3-uploader.
Re-reading your question, I think I realize now that you are saying that you simply are POST
-ing the form, using a normal browser form submission. Is that correct?
If so, and as you probably noticed, I don't think this library is providing any useful <input>
information for the backend in this case.
There is enough callbacks though, that probably what you should do is just create an <input type="hidden"/>
with the necessary information using javascript, after the image has successfully loaded.
Let me know if that is helpful, of if I am just missing the point.
from react-s3-uploader.
@seanadkinson Thanks for the answer. Actually in you answered my question in the first part :). This flow sound really reasonable. I've haven't notice an obvious fact that the file public url can be easily recreated from bucket name, region and file path.
Thanks a lot ๐
from react-s3-uploader.
Related Issues (20)
- MultipartUpload support๏ผ HOT 1
- Method Not Allowed 405 PUT Error
- index.d.ts missing methods/props HOT 1
- ReactS3Uploader.propTypes is undefined when deployed on Heroku HOT 3
- Domentation for all the props
- iPhone camera video quality issue
- Console Warning: getDefaultProps is only used on classic React.createClass...
- Content-Type is blank when uploading HOT 3
- How to notify server of image upload? HOT 1
- Is the "accept" prop even being used? Where can we find a list of valid prop arguments? (Duplication of #220) HOT 2
- Return boolean or Promise on file upload
- Can't limit upload size HOT 1
- Getting CORS error on uploading file on AWS S3 HOT 3
- Unable to generate a valid signed upload URL for Digital Ocean spaces
- Type for signingUrlHeaders is wrong HOT 2
- findDOMNode is deprecated in StrictMode HOT 1
- Uncaught ReferenceError: process is not defined - Chrome browser Console error HOT 2
- Upload error 400 after onProgress reports all the way through 100% HOT 4
- Mime-types modules is not intended to be used with browser HOT 2
- Upload error: Could not contact request signing server
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from react-s3-uploader.