+
+
+@csrf_exempt
+def ajax_upload(request, *args, **kwargs):
+ upload = request.FILES['upload']
+ upload_path = 'uploads'
+ if os.path.splitext(upload.name.lower())[-1] in ('.jpg', '.jpeg', '.png', '.gif', '.svg'):
+ upload_path = 'images'
+ saved_path = default_storage.save('%s/%s' % (upload_path, upload.name), upload)
+ url = '/media/' + saved_path
+ response = {'url': url, 'filename': upload.name}
+ if upload_path == 'images':
+ if default_storage.size(saved_path) > 500_000 and not upload.name.endswith('.svg'):
+ response['orig_url'] = url
+ try:
+ response['url'] = get_thumbnail(saved_path, '1000', upscale=False).url
+ except OSError:
+ pass
+ return JsonResponse(response)