Upload avec script adhoc.
authorBenoît Pin <pin@cri.ensmp.fr>
Fri, 21 Jun 2013 16:41:53 +0000 (18:41 +0200)
committerBenoît Pin <pin@cri.ensmp.fr>
Fri, 21 Jun 2013 16:41:53 +0000 (18:41 +0200)
skins/fileupload.js
skins/jsupload.py [new file with mode: 0644]
skins/photo_layout_macros.pt

index 980fb44..a67b3cf 100644 (file)
@@ -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);});
 
        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("Content-Type", file.type);
+       req.setRequestHeader("X-File-Name", file.name);
        addListener(reader, 'load', function(evt){req.sendAsBinary(evt.target.result);});
        reader.readAsBinaryString(file);
 };
        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 (file)
index 0000000..c4af561
--- /dev/null
@@ -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
index 6e1d7aa..ec56985 100644 (file)
@@ -86,7 +86,7 @@
       // <!--
       (function(){
         var lb = document.getElementById('lightbox');
       // <!--
       (function(){
         var lb = document.getElementById('lightbox');
-        var uploadUrl = absolute_url();
+        var uploadUrl = absolute_url() + '/jsupload';
         new Lightbox(lb);
         new DDFileUploader(lb, uploadUrl);
       })();
         new Lightbox(lb);
         new DDFileUploader(lb, uploadUrl);
       })();