【问题标题】:can't make jquery SWFUpload post data无法使 jquery SWFUpload 发布数据
【发布时间】:2011-04-17 18:21:32
【问题描述】:

我正在使用 django,并且我有以下模板用于使用 SWFUpload 上传文件 sxf 对象显示,下载处理接缝正在工作,但当进度条恢复到 100% 下没有附加内容时,服务器没有收到任何帖子数据。 有人知道我哪里错了吗?

调试: SWF 调试:事件:uploadError:IO 错误:文件 ID:SWFUpload_0_0。 IO 错误:错误 #2038 SWF DEBUG:事件:uploadComplete:上传周期完成。 SWF 调试:StartUpload:队列中的第一个文件 SWF DEBUG: StartUpload(): 在队列中找不到文件。

模板:

<!DOCTYPE html PUBLIC "-//W3C//DTD html 5.0 Strict//FR" "http://www.w3.org/TR/html5/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:fb="http://www.facebook.com/2008/fbml">
{% load facebook_tags %}      
<head>
        {% facebook_js %}
        {% initialize_facebook_connect %}
        <title>{{ titre }}</title>
        <link href="{{ MEDIA_URL }}css/admin.css" rel="stylesheet" type="text/css" />
        <script src="{{ MEDIA_URL }}js/jquery.tools.min.js" type="text/javascript"></script>
        <script src="{{ MEDIA_URL }}js/jquery.swfupload.js" type="text/javascript"></script>
        <script src="{{ MEDIA_URL }}js/swfupload.js" type="text/javascript"></script>
        <script type="text/javascript">
        $(document).ready(function () {
            $("#accordion").tabs("#accordion span", {
            tabs: 'img', 
            effect: 'horizontal'
            });
        });
 $(function(){  
     $('#swfupload-control').swfupload({  
         upload_url: "{{ MEDIA_URL }}upload/",  
        file_post_name: 'uploadPanneau',  
          file_size_limit : "1024",  
         file_types : "*.jpg;*.png;*.gif",  
         file_types_description : "Image files",  
        file_upload_limit : 5,  
        flash_url : "{{ MEDIA_URL }}swf/swfupload.swf",  
        button_image_url : '{{ MEDIA_URL }}images/site/wdp_buttons_upload_114x29.png',  
         button_width : 114,  
         button_height : 29,  
         button_placeholder : $('#button')[0],  
         debug: false  
    })  
        .bind('fileQueued', function(event, file){  
            var listitem='<li id="'+file.id+'" >'+  
               'File: <em>'+file.name+'</em> ('+Math.round(file.size/1024)+' KB) <span class="progressvalue" ></span>'+  
               '<div class="progressbar" ><div class="progress" ></div></div>'+  
                '<p class="status" >En Attente</p>'+  
                '<span class="cancel" >&nbsp;</span>'+  
                '</li>';  
           $('#log').append(listitem);  
            $('li#'+file.id+' .cancel').bind('click', function(){ //Remove from queue on cancel click  
             var swfu = $.swfupload.getInstance('#swfupload-control');  
                swfu.cancelUpload(file.id);  
                 $('li#'+file.id).slideUp('fast');  
            });  
            // start the upload since it's queued  
            $(this).swfupload('startUpload'); 
         }) 
         .bind('fileQueueError', function(event, file, errorCode, message){ 
         alert('La taille du fichier '+file.name+' est plus grande que la limite'); 
     }) 
     .bind('fileDialogComplete', function(event, numFilesSelected, numFilesQueued){ 
          $('#queuestatus').text('Fichier sélectioner: '+numFilesSelected+' / Fichier en Attente: '+numFilesQueued); 
   }) 
     .bind('uploadStart', function(event, file){ 
           $('#log li#'+file.id).find('p.status').text('Upload en Cours...'); 
          $('#log li#'+file.id).find('span.progressvalue').text('0%'); 
         $('#log li#'+file.id).find('span.cancel').hide(); 
      }) 
       .bind('uploadProgress', function(event, file, bytesLoaded){ 
         //Show Progress 
          var percentage=Math.round((bytesLoaded/file.size)*100); 
           $('#log li#'+file.id).find('div.progress').css('width', percentage+'%'); 
          $('#log li#'+file.id).find('span.progressvalue').text(percentage+'%'); 
        }) 
       .bind('uploadSuccess', function(event, file, serverData){ 
          var item=$('#log li#'+file.id);  
         item.find('div.progress').css('width', '100%'); 
        item.find('span.progressvalue').text('100%'); 
         var pathtofile='<a href="uploads/'+file.name+'" target="_blank" >view &raquo;</a>'; 
           item.addClass('success').find('p.status').html('Fini!!! | '+pathtofile); 
      }) 
       .bind('uploadComplete', function(event, file){ 
         // upload has completed, try the next one in the queue 
             $(this).swfupload('startUpload');  
         })  
 });  
        </script>

</head>
    <body>
    {% facebook_js %}
    <div class="second-body">
    <div id="accordion">

        <!-- 1st header and pane -->
        <img src="http://www.sportmag.fr/media/images/site/panneau-avant-admin.png" />
        <span style="width:800px; display:block;"> 
             <div id="swfupload-control">  
     <p>Envoie d'images</p>  
     <input type="button" id="button" />  
    <p id="queuestatus" ></p>  
    <ol id="log"></ol>  
 </div> 

        </span>

        <!-- 2nd header and pane -->
        <img src="http://www.sportmag.fr/media/images/site/gestion-articles-admin.png" />
        <span> les articles</span>

        <!-- 3rd header and pane -->
        <img src="http://www.sportmag.fr/media/images/site/redaction-article-admin.png" />
        <span> autres</span>

    </div>
    </div>
    {% initialize_facebook_connect %}
    </body>
</html>

【问题讨论】:

    标签: jquery django post file swfupload


    【解决方案1】:

    我根本不知道 swfupload,但你真的希望你的upload_url 位于MEDIA_URL 之下吗?肯定应该是 Django 可以处理的地方吧?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-02
      • 1970-01-01
      • 2018-12-02
      • 2021-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      相关资源
      最近更新 更多