Canvas file names are saved in URL-encoded form, for example:
%2B+Readme+%28Mechanical+systems%29.pdf
This makes downloaded content difficult to browse and search.
Filenames should be decoded before saving so they match the human-readable names shown in Canvas.
Suggested fix:
from urllib.parse import unquote_plus
filename = unquote_plus(file['filename'])
This should be applied consistently across:
- file downloads
- file-by-id downloads
- submission downloads
Canvas file names are saved in URL-encoded form, for example:
%2B+Readme+%28Mechanical+systems%29.pdfThis makes downloaded content difficult to browse and search.
Filenames should be decoded before saving so they match the human-readable names shown in Canvas.
Suggested fix:
This should be applied consistently across: