2011-10-06 6 views
6

plupload div를 사용한 후 업로드 양식과 부울 값이있는 체크 박스가 있습니다.Plupload, 동적으로 URL 변경

확인란을 선택하면 plupload의 url 값을 변경하고 싶습니다.

여기 내 코드 압축 값

<div id="uploader"> 
    <p>You browser doesn't have Flash, Silverlight, Gears, BrowserPlus or HTML5 support.</p> 
</div> 
<input id="compressFiles" type="checkbox" name="compressFiles" style="margin:10px 0 0 10px;" value="compress" checked="checked" /> 

$(function() { 

$("#compressFiles").change(function(){ 
    if($("#compressFiles").is(':checked')){ 
      compress = 'compress'; 
     } 
     else{ 
     compress = 'no'; 
     } 
}) 

$("#uploader").plupload({ 

    runtimes : 'gears,flash,html5,html4,browserplus,silverlight', 
    url: 'uploadHandler.php?compressFiles=' + compress, 
    max_file_size : '1000mb', 
    max_file_count: 20, // user can add no more then 20 files at a time 
    unique_names : true, 
    dragdrop : true, 
    multiple_queues : true, 

    // Addeb by LG - problem with FF 
    filters: [ 
     {title: "All", extensions: "*"} 
    ], 

    // Rename files by clicking on their titles 
    rename: true, 

    // Sort files 
    sortable: true, 

    // Flash settings 
    flash_swf_url : 'js/plupload.flash.swf', 

    // Silverlight settings 
    silverlight_xap_url : 'js/plupload.silverlight.xap', 
    init : { 
     FilesAdded: function(up) { 
      if($("#compressFiles").is(':checked')){ 
       compress = "no" 
      } 
      else{ 
       compress = "no" 
      } 
    } 
    } 

}); 

// Client side form validation 
$('form').submit(function(e) { 
    var uploader = $('#uploader').plupload('getUploader'); 

    // 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){ alert("coucou"); 
        $('form').submit();} 
      }); 

      uploader.start(); 
     } else 
      alert('You must at least upload one file.'); 

     e.preventDefault(); 
    } 
}); 

}); 

URL 변수의 값이 정의 처음 페이지로드이다. 내가 1000 thinhs했는데 확인란의 변경 URL을 압축 값을 새로 고칠 불가능.

나는 내 문제가 명확하고, 영어를 아주 잘하길 바랍니다. 도움

답변

22

에 대한

덕분에 간단하게 "BeforeUpload"이벤트에 결합하여 당신은 당신의 요구에 맞게 uploader.settings을 변경할 수 있습니다.

this.uploader.bind('BeforeUpload', function(uploader, file) { 
    if($("#compressFiles").is(':checked')) { 
    uploader.settings.url = "uploadHandler.php?compressFiles=compress"; 
    } else { 
    uploader.settings.url = "uploadHandler.php?compressFiles=no"; 
    } 
}); 
+0

응답 주셔서 감사합니다, 나는 "up.setting.url"을 찾고 있었어. 이제 괜찮아. – Hugo

+0

나는 그것이'uploader.settings.url'라고 생각한다. – vikki

+0

맞아. 내가 편집 할게. – funwhilelost

1

plupolad v3 chaging settings.url에서 작동하지 않습니다. 당신이 사용해야합니다

uploader.setOption('url', 'your/url/here');