pupload динамические мультипараметры

Я использую 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'
      });

person user2091928    schedule 18.09.2017    source источник


Ответы (3)


Я нашел решение своей проблемы.

Вот как вы подключаетесь к существующему экземпляру 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();
});
person user2091928    schedule 18.09.2017

Попробуйте это, удалив «кавычки» в именах переменных multipart_params, например:

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

Я знаю - в примерах используются кавычки. И они действительно работали в других версиях. Но, к сожалению, для вас, меня и многих других документация по этому продукту оставляет желать лучшего. Мне пришлось потратить слишком много часов на его отладку, чтобы увидеть, что он на самом деле делает. Даже в «последней» версии. Я не думаю, что кто-то его обслуживает.

person McAuley    schedule 13.03.2020

Вы можете использовать опцию BeforeUpload для добавления составных параметров.

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