noms de fichiers encodés.
authorBenoît Pin <benoit.pin@gmail.com>
Wed, 4 Dec 2013 19:37:03 +0000 (20:37 +0100)
committerBenoît Pin <benoit.pin@gmail.com>
Wed, 4 Dec 2013 19:37:03 +0000 (20:37 +0100)
Folder.py
skins/ajax_scripts/fileupload.js

index b7627026bfb9680d3dc9cdb635efccd617f60788..4db6725a953e536071b4186f0b344b7cdc6c3891 100644 (file)
--- a/Folder.py
+++ b/Folder.py
@@ -31,6 +31,7 @@ from zExceptions import Unauthorized
 import sys
 import warnings
 from cgi import escape
+from urllib import unquote
 from OFS import Moniker
 from ZODB.POSException import ConflictError
 import OFS.subscribers
@@ -297,8 +298,7 @@ class PlinnFolder(CMFCatalogAware, PortalFolder, DefaultDublinCoreImpl) :
         """
 
         self.dav__init(REQUEST, RESPONSE)
-
-        fileName = REQUEST.getHeader('X-File-Name', '')
+        fileName = unquote(REQUEST.getHeader('X-File-Name', ''))
         validId = makeValidId(self, fileName, allow_dup=True)
 
         ifhdr = REQUEST.get_header('If', '')
index bf36628c212c358823cc1dd3c73a6ddc69a308f4..675ff13e8fd6be1142f43c10e65be8cc3fe3e0fa 100644 (file)
@@ -68,7 +68,7 @@ DDFileUploaderBase.prototype.upload = function(item) {
 
        req.open("PUT", this.uploadUrl);
        req.setRequestHeader("Content-Type", file.type);
-       req.setRequestHeader("X-File-Name", file.name);
+       req.setRequestHeader("X-File-Name", encodeURI(file.name));
        addListener(reader, 'load',
                function(evt){
                        try {