X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/ee99f155d35803cc802ce2a2200fb98cee015772..e08b9a9ce539493a925abad05a1a2900aa80583e:/apps/fileupload/views.py diff --git a/apps/fileupload/views.py b/apps/fileupload/views.py index 8863465c..a2025fe7 100644 --- a/apps/fileupload/views.py +++ b/apps/fileupload/views.py @@ -4,6 +4,7 @@ from urllib import quote from django.conf import settings from django.http import HttpResponse, HttpResponseRedirect, HttpResponseForbidden, Http404 from django.utils.decorators import method_decorator +from django.utils.encoding import smart_bytes from django.views.decorators.vary import vary_on_headers from django.views.generic import FormView, View from .forms import UploadForm @@ -19,7 +20,7 @@ else: def thumbnail(relpath): try: return default.backend.get_thumbnail(relpath, "x50").url - except IOError: + except (IOError, ValueError): # That's not an image. No thumb. return None @@ -74,9 +75,10 @@ class UploadView(FormView): Makes sure it's inside MEDIA_ROOT. """ + filename = smart_bytes(filename) path = os.path.abspath(os.path.join( settings.MEDIA_ROOT, - self.get_directory(), + smart_bytes(self.get_directory()), filename)) if not path.startswith(settings.MEDIA_ROOT): raise Http404 @@ -99,7 +101,7 @@ class UploadView(FormView): files = [] path = self.get_safe_path() if os.path.isdir(path): - for f in os.listdir(path): + for f in sorted(os.listdir(path)): file_info = { "name": f, }