Address the uploads issue #1584

'%20' in filenames are translated back to ' ' in both editor and file creation.
This commit is contained in:
Watal M. Iwasaki
2020-07-12 17:37:20 +09:00
parent b32dcfa8dd
commit 5f5730fe2e
2 changed files with 8 additions and 6 deletions
+7 -6
View File
@@ -230,14 +230,15 @@ module Precious
halt 500 unless tempfile.is_a? Tempfile
if wiki.per_page_uploads
# remove base_url and gollum/* subpath if necessary
dir = request.referer.
sub(request.base_url, '').
sub(/.*gollum\/[-\w]+\//, '')
dir = request.referer.sub(request.base_url, '')
# remove base path if it is set
dir = dir.sub(wiki.base_path, '') if wiki.base_path
dir.sub!(/^#{wiki.base_path}/, '') if wiki.base_path
# remove base_url and gollum/* subpath if necessary
dir.sub!(/^\/gollum\/[-\w]+\//, '')
# remove file extension
dir = dir.sub(::File.extname(dir), '')
dir.sub!(/#{::File.extname(dir)}$/, '')
# revert escaped whitespaces
dir.gsub!(/%20/, ' ')
dir = ::File.join('uploads', dir)
else
# store all uploads together
@@ -299,6 +299,7 @@
var ext = file.name.split('.').pop().toLowerCase()
var image_ext = ['jpg', 'jpeg', 'tif', 'tiff', 'png', 'gif', 'svg', 'bmp']
// Link directly to image files
uploadDest = uploadDest.replace(/%20/g, ' ');
if ((image_ext.indexOf(ext) > -1)) {
var text = '[[/' + uploadDest + '/' + file.name + ']]';
} else {