2012-11-13 2 views
2

저는 JQuery UI 구현 인 plupload를 사용하고 있습니다. 서버에 추가 매개 변수를 전달하려고하는데 작동하지 못합니다. 꽤 간단해야하며, 함수가 실행될 때 매개 변수가 이미 설정되어 있으므로 문제가되지 않습니다. 나는 이것을 시도했다 :plupload에 추가 매개 변수를 전달할 수 없습니다.

function GetPlUploader(m) 
{ 
$("#divOpplaster").plupload(
{ 
    // General settings 
    runtimes: 'flash,html5,silverlight', 
    url: 'upload.php', 
    max_file_size: '10mb', 
    chunk_size: '1mb', 
    unique_names: true, 
    multipart: true, 
    multipart_params: [ 
    { 
     'ordre': ordreibruk, 
     'mode': m} 
    ], 

    // Specify what files to browse for 
    filters: [ 
    { 
     title: "Bildefiler", 
     extensions: "jpg,gif,png,bmp"} 
    ], 

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

    // Silverlight settings 
    silverlight_xap_url: 'plupload/js/plupload.silverlight.xap', 

    init: { 
     FileUploaded: function(up, file, info) 
     { 
      // Called when a file has finished uploading 
      console.log('[FileUploaded] File:', file, "Info:", info); 
     } 
    } 
}); 

console.log("Ordre: " + ordreibruk + ". Mode: " + m) 

$("#divOpplaster").dialog(
{ 
    autoOpen: false, 
    width: 650, 
    show: "fade", 
    hide: "fade" 
}) 

$("#divOpplaster").dialog("open") 

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

    // Files in queue upload them first 
    if (uploader.files.length > 0) 
    { 
     // When all files are uploaded submit form 
     uploader.bind('StateChanged', function() 
     { 
      if (uploader.files.length === (uploader.total.uploaded + uploader.total.failed)) 
      { 
       $('form')[0].submit(); 
      } 
     }); 

     uploader.start(); 
    } 
    else 
    alert('Du må velge minst én fil for opplasting.'); 

    return false; 
}); 
} 

나는 또한 $ ('양식')이 추가하려고했습니다 섹션 제출.

uploader.bind('BeforeUpload', function(up) 
    { 
    up.settings.multipart_params = 
    { 
     'ordre': ordreibruk, 
     'mode': m 
    }; 

}); 

을하지만 아무 소용에.

나는 정말로 단순한 것을 간과 할 것이라고 확신하지만, 무엇을해야할까요?

종류와 관련, 앤더스

+0

multipart_params! http://stackoverflow.com/questions/9535462/how-to-send-additional-data-using-plupload –

+0

@VictorYan 그게 내가 한거야! 게시하기 전에 코드를 읽지 않았습니까? – aanders77

답변

4

나는 URL에 쿼리 문자열 매개 변수로 내 매개 변수를 넣어 사용할 고백해야합니다 url: '/upload.aspx?id='+Id,

  • 이상 : upldr.settings.url = upldr.settings.url + '&token=' + myToken;
  • 초기화하는 동안

    • 잘 작동합니다. 희망이 도움이 될 것입니다.

    +0

    jbl, 답장을 보내 주셔서 감사합니다. 나는 그것을 "올바른 방법"으로하고 싶다. 그러나 나는 당신의 솔루션으로 시작할 것이고, 누군가가 우리에게 올바른 방향으로 포인터를 줄 수 있음을 나중에 물어 보자. :) – aanders77

    +0

    @jbl 나는 resize 매개 변수로 이것을 할 수있다. .... ?? 나는 URL을 추가로 크기를 조정하는 것을 의미합니까 ...? –

    +0

    @SagarNaliyapara 필요에 맞는 매개 변수를 추가 할 수 있습니다. – jbl

    0

    같은 문제가있었습니다. 내 프로젝트에서 작동하는 coffescript로 쉽게 변환 할 수있는이 스 니펫을 발견했습니다. 당신은 초기화 이후 일반 초기화 및 $ ("#의 divOpplaster")의 설정을 한 후

    var myUploader = $('#uploader').plupload('getUploader'); 
    myUploader.bind('BeforeUpload', function(up, file) { 
        up.settings.multipart_params = {path : $("#path").val()}; 
    }); 
    

    는 전화 (업로드가 공격하기 전에 필드를 변경할 수있는 경우와 같은) 멀티 PARAMS을 통과 할 수 있습니다. plupload을 (...) (물론 업 로더 필드에 ID를 적절하게 설정하십시오)