ACAS-761: Fix download urls for experiment files containing # special character #1146
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.
Description
I dug into this a little more and found that there are some subtle differences between
encodeURI
which is meant to encode an entire URL / URI andencodeURIComponent
which is meant to encode a query string or path component in a URL. For more info: https://stackoverflow.com/questions/75980/when-are-you-supposed-to-use-escape-instead-of-encodeuri-encodeuricomponentI found that a simple switch to encoding only the
fileValue
withencodeURIComponent
fixes the issue with#
characters.Related Issue
https://schrodinger.atlassian.net/browse/ACAS-761
How Has This Been Tested?
#
and confirmed I could download it againGeneric Special Chars ! @ # $ % ^ & * ( ) - _ = + [ ] { } | \ / < > ' " ? ,.xlsx
. This filename gets clobbered during the upload, and gets saved to the ACAS filestore as: < > ' %22 ? ,.xlsx
, which is a related but separate bug. Before this fix, that file could not be downloaded from the experiment browser, and after the fix it can be downloaded successfully.