Fixed #11030: fixed file uploads on non-utf8 filesystem encoding. Thanks, Honza Kral.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10693 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
parent
fb9ac5729d
commit
a59095af24
|
@ -6,7 +6,7 @@ from django.conf import settings
|
||||||
from django.core.exceptions import ImproperlyConfigured, SuspiciousOperation
|
from django.core.exceptions import ImproperlyConfigured, SuspiciousOperation
|
||||||
from django.core.files import locks, File
|
from django.core.files import locks, File
|
||||||
from django.core.files.move import file_move_safe
|
from django.core.files.move import file_move_safe
|
||||||
from django.utils.encoding import force_unicode
|
from django.utils.encoding import force_unicode, smart_str
|
||||||
from django.utils.functional import LazyObject
|
from django.utils.functional import LazyObject
|
||||||
from django.utils.importlib import import_module
|
from django.utils.importlib import import_module
|
||||||
from django.utils.text import get_valid_filename
|
from django.utils.text import get_valid_filename
|
||||||
|
@ -212,7 +212,7 @@ class FileSystemStorage(Storage):
|
||||||
path = safe_join(self.location, name)
|
path = safe_join(self.location, name)
|
||||||
except ValueError:
|
except ValueError:
|
||||||
raise SuspiciousOperation("Attempted access to '%s' denied." % name)
|
raise SuspiciousOperation("Attempted access to '%s' denied." % name)
|
||||||
return os.path.normpath(path)
|
return smart_str(os.path.normpath(path))
|
||||||
|
|
||||||
def size(self, name):
|
def size(self, name):
|
||||||
return os.path.getsize(self.path(name))
|
return os.path.getsize(self.path(name))
|
||||||
|
|
|
@ -70,13 +70,13 @@ ValueError: The 'normal' attribute has no file associated with it.
|
||||||
[]
|
[]
|
||||||
>>> files.sort()
|
>>> files.sort()
|
||||||
>>> files
|
>>> files
|
||||||
[u'default.txt', u'django_test.txt']
|
['default.txt', 'django_test.txt']
|
||||||
|
|
||||||
>>> obj1.save()
|
>>> obj1.save()
|
||||||
>>> dirs, files = temp_storage.listdir('tests')
|
>>> dirs, files = temp_storage.listdir('tests')
|
||||||
>>> files.sort()
|
>>> files.sort()
|
||||||
>>> files
|
>>> files
|
||||||
[u'assignment.txt', u'default.txt', u'django_test.txt']
|
['assignment.txt', 'default.txt', 'django_test.txt']
|
||||||
|
|
||||||
# Files can be read in a little at a time, if necessary.
|
# Files can be read in a little at a time, if necessary.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue