1

mvcサイトでpluploadを使用していますが、選択されたらすぐに1つのファイルをアップロードしたいと思います。アップローダーコントロールの自動開始をtrueに設定しましたが、これによってアップロードがアクティブになりません。uploader.start();また、アップローダーの「filesadded」デリゲートを呼び出してみましたが、これはアップロードしようとした2番目のファイルでのみ機能します。UIウィジェットなしでplupload1.4.3.2を使用しています。これが私のコードです:

var uploader = new plupload.Uploader({
    runtimes: 'gears,html5,flash,silverlight,browserplus',
    browse_button: 'pickfiles',    
    autostart : true,    
    max_file_size: '10mb',
    url: '/Event/Upload',
    resize: { width: 320, height: 240, quality: 90 },
    flash_swf_url: '/Scripts/pl/plupload.flash.swf',
    silverlight_xap_url: '/Scripts/pl/plupload.silverlight.xap',
    filters: [
    { title: "Image files", extensions: "jpg,gif,png" },
    { title: "Zip files", extensions: "zip" }
]
});
uploader.bind('Init', function (up, params) {
    $('#filelist')[0].innerHTML = "<div>Current runtime: " + params.runtime + "</div>";
});
uploader.bind('Error', function (up, err) {
    $('#filelist').append("<div>Error: " + err.code +
        ", Message: " + err.message +
        (err.file ? ", File: " + err.file.name : "") +
        "</div>"
    );

});
uploader.bind('FilesAdded', function (up, files) {
    for (var i in files) {
        $('#filelist')[0].innerHTML += '<div id="' + files[i].id + '">' + files[i].name + ' (' + plupload.formatSize(files[i].size) + ') <b></b></div>';
    }
    //uploader.start();
});
$('#uploadfiles').click(function (e) {
    uploader.start();
    e.preventDefault();
});

uploader.bind('UploadProgress', function (up, file) {
    $('#' + file.id)[0].getElementsByTagName('b')[0].innerHTML = '<span>' + file.percent + "%</span>";
});

uploader.init();;
4

3 に答える 3

6

FilesAddedイベントでuploader.start();を変更します。setTimeout('uploader.start()'、100);

于 2011-06-28T21:22:42.060 に答える
1

「デフォルトのハンドラーをバインドするため、initの後に必ずバインドしてください。」

詳しくは

(私は遅れる方法を知っていますが、私はまだこの解決策が好きです)

于 2012-01-15T15:25:32.700 に答える
0

その通り!その順序でコマンドを注文するだけです:

uploader.init();
uploader.bind('FilesAdded', function(up, files) {
    ...
    uploader.start();
});
于 2012-03-07T08:51:11.087 に答える