簡體   English   中英

plupload 動態多參數

[英]plupload dynamic multi params

我正在使用 plupload 來允許用戶上傳文件。 我正在使用 plupload 傳遞兩個多參數。 第一個參數在頁面加載時動態設置。 另一個是在用戶從選擇菜單中選擇時設置的。

頁面加載時第二個參數為空,我不知道如何在用戶做出選擇后將其傳遞給 plupload。

如果我將 plupload 代碼添加到更改函數中,它可以工作,但我不希望這樣,因為在用戶做出選擇之前,plupload 是不可見的。

我希望有人可以幫助我。

這是我的代碼:

    $("#uType").change(function(){
        var upType = $('#uType').val();
        $("#type").val(this.value); 
    });

    var uploader = $("#uploader").plupload({
        // General settings
        runtimes : 'html5,flash,silverlight,html4',
        url : "/wp-content/plugins/tyhp-filemaker/tyhp-youth-upload.php",

        // Maximum file size
        max_file_size : '2mb',

        chunk_size: '1mb',

        // Resize images on clientside if we can
        resize : {
        width : 200, 
        height : 200, 
        quality : 90,
        crop: true // crop to exact dimensions
        },

        multipart_params: {'type': $('#type').val(), 'account' : $('#AccountUpload').val()},

        // Specify what files to browse for
        filters : [
            {title : "Image files", extensions : "jpg,gif,png"},
            {title : "Zip files", extensions : "zip,avi"}
        ],

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

        // Sort files
        sortable: true,

        // Enable ability to drag'n'drop files onto the widget (currently only HTML5 supports that)
        dragdrop: true,

        // Views to activate
        views: {
             list: true,
             thumbs: true, // Show thumbs
             active: 'thumbs'
         }

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

        // Silverlight settings
        silverlight_xap_url : '/plupload/js/Moxie.xap'
      });

我已經找到了解決我的問題的方法。

以下是連接到現有 plupload 實例並根據選擇菜單中的更改事件設置多參數的方法:

$("#uType").change(function(){
    var upType = $('#uType').val();
    $("#type").val(this.value); 
    var uploader = $('#uploader').plupload('getUploader');
    uploader.settings.multipart_params.type = $("#type").val();
    uploader.settings.multipart_params.account = $('#AccountUpload').val();
});

通過刪除 multipart_params 變量名稱上的“引號”來嘗試,如下所示:

multipart_params: { type: $('#type').val(), account : $('#AccountUpload').val() }

我知道 - 示例使用引號。 他們實際上在其他版本中工作。 但不幸的是,對於您、我和其他許多人來說,該產品的文檔還有很多不足之處。 我已經花了太多時間調試它只是為了看看它是真正在做什么。 即使在“最新”版本上。 我認為沒有人再維護它了。

您可以使用 BeforeUpload 選項添加多部分參數

uploader.bind('BeforeUpload',  function(up, file) {
    uploader.settings.multipart_params.type = $('#type').val();
    uploader.settings.multipart_params.account = $('#AccountUpload').val();
    console.log(file);
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM