From: Benoît Pin <pin@cri.ensmp.fr>
Date: Fri, 21 Jun 2013 16:41:53 +0000 (+0200)
Subject: Upload avec script adhoc.
X-Git-Url: https://svn.cri.mines-paristech.fr/git/Portfolio.git/commitdiff_plain/0cfb875cbacb607734f1a3c25fffcbe028c33fed?ds=sidebyside;hp=a7a4baea1b830c95026e44a4c99ad75cbb5eec96

Upload avec script adhoc.
---

diff --git a/skins/fileupload.js b/skins/fileupload.js
index 980fb44..a67b3cf 100644
--- a/skins/fileupload.js
+++ b/skins/fileupload.js
@@ -64,8 +64,9 @@ DDFileUploader.prototype.upload = function(slide) {
 	addListener(req.upload, 'progress', function(evt){self.progressHandler(evt);});
 	addListener(req.upload, 'load', function(evt){self.uploadCompleteHandler(evt);});
 
-	req.open("PUT", this.uploadUrl + '/' + file.name);
+	req.open("PUT", this.uploadUrl); // + '/' + file.name);
 	req.setRequestHeader("Content-Type", file.type);
+	req.setRequestHeader("X-File-Name", file.name);
 	addListener(reader, 'load', function(evt){req.sendAsBinary(evt.target.result);});
 	reader.readAsBinaryString(file);
 };
diff --git a/skins/jsupload.py b/skins/jsupload.py
new file mode 100644
index 0000000..c4af561
--- /dev/null
+++ b/skins/jsupload.py
@@ -0,0 +1,12 @@
+##parameters=REQUEST, RESPONSE
+
+from Products.Plinn.utils import makeValidId
+
+factory = context.PUT_factory
+typ = REQUEST.get_header('content-type', None)
+body = REQUEST.get('BODY', '')
+
+id = makeValidId(context, name)
+ob = factory(id, typ, body)
+
+return RESPONSE
diff --git a/skins/photo_layout_macros.pt b/skins/photo_layout_macros.pt
index 6e1d7aa..ec56985 100644
--- a/skins/photo_layout_macros.pt
+++ b/skins/photo_layout_macros.pt
@@ -86,7 +86,7 @@
       // <!--
       (function(){
         var lb = document.getElementById('lightbox');
-        var uploadUrl = absolute_url();
+        var uploadUrl = absolute_url() + '/jsupload';
         new Lightbox(lb);
         new DDFileUploader(lb, uploadUrl);
       })();