tags:

views:

251

answers:

1

Hi, i have a problem.

I want to upload a file with plupload with the HML5 runtime.

This is my html/js code :

jQuery(function(){
    jQuery("#uploader").pluploadQueue({
        // General settings
        runtimes : 'html5',
        name : 'file',
        url : 'http://server.name/addContent',
        max_file_size :  '${maxSize}$_("GB")',
    });


    jQuery('#form_upload_file').submit(function(e) {
        var uploader = jQuery('#uploader').pluploadQueue();
        // Validate number of uploaded files
        if (uploader.total.uploaded == 0) {
            // Files in queue upload them first
            if (uploader.files.length > 0) {
                // When all files are uploaded submit form
                uploader.bind('UploadProgress', function() {
                if (uploader.total.uploaded == uploader.files.length)
                    jQuery('#form_upload_file').submit();
                });
                uploader.start();
            } else
                alert('You must at least upload one file.');

            e.preventDefault();
        }
    });


});

<form id="form_upload_file" action="#" method="POST">
        <div id="uploader"></div>
        <input type="hidden" name="token" value="token" />
        <input type="hidden" name="idUser" value="$idUser" />
    </form>

So, when i click in the button to upload(the submit() method is not called), it does an OPTIONS HTTP request to my server so i don't know what i must do to save the file?

this is my webpy code :

def OPTIONS(self):
        web.header('Content-type', 'text/plain: charset=utf-8')
        web.header('Cache-Control', 'no-store, no-cache, must-revalidate')
        web.header('Cache-Control', 'post-check=0, pre-check=0', False)
        web.header('Pragma', 'no-cache')


    def POST(self):
        input = web.input(_unicode=False, file={})#on récupère les input
        self.copy(input.file.file)
        etc.

any idea ?

thanks.

A: 

Have you looked webpy's cookbook for this problem?

http://webpy.org/cookbook/fileupload

This recipe seems to accomplish what you want to do.

Franz