Sanitize filename before upload to prevent issues with spaces and special characters in filenames. #109
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I noticed that uploads with spaces in the filename gave invalid urls.
The problem seems to be that
req.body.filename
ins3-upload.ts
for some reason has filename spaces encoded with%20
instead of a space.And when you upload to s3 with
%20
in the url you have to add%2520
to get the actual url.Returned by library:
https://XXX/filename%20with-one-space.png
Actual working url (from aws console):
https://XXX/filename%2520with-one-space.png
This PR does two things:
encodeURIComponent
of the filename on the client side. Send the real, unencoded filename to the back-end.