How to make a loop for multiple plupload

后端 未结 1 745
耶瑟儿~
耶瑟儿~ 2021-01-24 05:48

I have a piece of code like that:

$(function() {
var uploader1 = new plupload.Uploader({
    runtimes : \'gears,html5,flash,silverlight,browserplus\',
    browse         


        
相关标签:
1条回答
  • 2021-01-24 05:48

    Did not go through the whole logic, but one option should (roughly) be something like this (for 10 uploaders), concatenating the itemIndex to each selector. (watch out for the container item which does not seem to be indexed)

    Server side, you may encounter the need to know which uploader triggered the upload. This might be solved, for example, with querystring parameters.

    $(function() {
       for (var itemIndex=1, itemIndex<10; itemIndex++)
           initUploader(itemIndex);
    });
    
    function initUploader(itemIndex) {
        var uploader1 = new plupload.Uploader({
            runtimes : 'gears,html5,flash,silverlight,browserplus',
            browse_button : 'pickfiles'+itemIndex, 
            container : 'container'+itemIndex,
            max_file_size : '10mb',
            url : 'upload.php',
            flash_swf_url : '/plupload/js/plupload.flash.swf',
            silverlight_xap_url : '/plupload/js/plupload.silverlight.xap',
            filters : [
                {title : "Image files", extensions : "jpg,gif,png"},
                {title : "Zip files", extensions : "zip"}
            ],
            resize : {width : 320, height : 240, quality : 90}
        });
    
        uploader1.bind('Init', function(up, params) {
            $('#filelist'+itemIndex).html("<div>Current runtime: " + params.runtime + "</div>");
        });
    
        $('#uploadfiles'+itemIndex).click(function(e) {
            uploader1.start();
            e.preventDefault();
        });
    
        uploader1.init();
    
        uploader1.bind('FilesAdded', function(up, files) {
            var temp_img_name = '';
            $.each(files, function(i, file) {
                $('#filelist'+itemIndex).append(
                    '<div id="' + file.id + '">' +
                    file.name + ' (' + plupload.formatSize(file.size) + ') <b></b> <input type="hidden" name="hdnPictureNameAddtemp" value="' + file.name + '"/>' +
                '</div>');
                if(temp_img_name == ''){
                temp_img_name += file.name;
                } else {
                temp_img_name += ', ' + file.name;
                }
    
            });
            $('#filelist'+itemIndex).append('<input type="hidden" name="hdnPictureNameAdd" value="' + temp_img_name + '"/>');
    
            up.refresh(); // Reposition Flash/Silverlight
        });
    
        uploader1.bind('UploadProgress', function(up, file) {
            $('#' + file.id + " b").html(file.percent + "%");
        });
    
        uploader1.bind('Error', function(up, err) {
            $('#filelist'+itemIndex).append("<div>Error: " + err.code +
                ", Message: " + err.message +
                (err.file ? ", File: " + err.file.name : "") +
                "</div>"
            );
    
            up.refresh(); // Reposition Flash/Silverlight
        });
    
        uploader1.bind('FileUploaded', function(up, file) {
            $('#' + file.id + " b").html("100%");
        });
    }
    
    0 讨论(0)
提交回复
热议问题