一千萬個為什麽

搜索
當前位置: 首頁 > 用webpy填充

用webpy填充

我想用HTML5運行時上傳一個帶plupload的文件。

這是我的html/js代碼:

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>

所以,當我點擊按鈕上傳(未調用submit()方法)時,它會對我的服務器執行OPTIONS HTTP請求 所以我不知道我必須做什麽來保存文件?

這是我的webpy代碼:

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.

知道什麽是錯的嗎?

最佳答案

你看過這個問題的webpy的食譜了嗎?

http://webpy.org/cookbook/fileupload

這個配方似乎完成了你想要做的事情。

轉載註明原文: 用webpy填充