0001-misc-check-file-type-before-upload-40932.patch
wcs/qommon/static/js/qommon.fileupload.js | ||
---|---|---|
209 | 209 |
pasteZone: base_widget, |
210 | 210 |
dataType: 'json', |
211 | 211 |
add: function (e, data) { |
212 |
var accepted_mimetypes = $(this).attr('accept'); |
|
213 |
if (accepted_mimetypes) { |
|
214 |
accepted_mimetypes = accepted_mimetypes.split(''); |
|
215 |
var file_mimetype = data.files[0].type; |
|
216 |
var valid_mimetype = false; |
|
217 |
for (var i in accepted_mimetypes) { |
|
218 |
var mime_type = accepted_mimetypes[i]; |
|
219 |
if (mime_type.substring(mime_type.length-2, mime_type.length) == '/*') { |
|
220 |
if (file_mimetype.substring(0, mime_type.length-1) == mime_type.substring(0, mime_type.length-1)) { |
|
221 |
valid_mimetype = true; |
|
222 |
break; |
|
223 |
} |
|
224 |
} else { |
|
225 |
if (file_mimetype == mime_type) { |
|
226 |
valid_mimetype = true; |
|
227 |
break; |
|
228 |
} |
|
229 |
} |
|
230 |
} |
|
231 |
if (!valid_mimetype) { |
|
232 |
$(base_widget).find('.fileprogress .bar').css('width', '100%'); |
|
233 |
$(base_widget).find('.fileprogress').addClass('upload-error'); |
|
234 |
$(base_widget).find('.fileprogress .bar').text(WCS_I18N.file_type_error); |
|
235 |
$(base_widget).find('.fileprogress').show(); |
|
236 |
return; |
|
237 |
} |
|
238 |
} |
|
239 | ||
212 | 240 |
if (image_resize && ( |
213 | 241 |
data.files[0].type == 'image/jpeg' || |
214 | 242 |
data.files[0].type == 'image/png')) { |
wcs/root.py | ||
---|---|---|
365 | 365 |
get_response().set_content_type('text/javascript') |
366 | 366 |
strings = { |
367 | 367 |
'confirmation': _('Are you sure?'), |
368 |
'file_type_error': _('Invalid file type'), |
|
368 | 369 |
'file_size_error': _('File size exceeds limits'), |
369 | 370 |
'geoloc_unknown_error': _('Geolocation: unknown error'), |
370 | 371 |
'geoloc_permission_denied': _('Geolocation: permission denied'), |
371 |
- |