3

アップロードされたチャンクごとに formData を更新しようとしています。ただし、Blueimps jquery ファイル アップロード プラグインでは、formData を最初に 1 回しか設定できません。

formData を更新できるようにする必要がある理由は、サーバーに現在のチャンク、つまり 24 チャンクのうちの 3 つを伝えることができるようにするためです。

これが私のコードです:

$('#fileupload').fileupload({
    maxChunkSize: 50024,
    url: '/webpanel/upload/blueimp/',
    dataType: 'json',
    success: function (data, textStatus, jqXHR) 
    {
        count = parseInt($('#chunk').val()) + 1;
        $('#chunk').val(count);         
        data.formData = {               
            chunk: $('#chunk').val()
        };
    },
    submit: function (e, data) 
    {   
        data.formData = { 
            fname: data.originalFiles[0].name,
            chunks: Math.ceil(data.originalFiles[0].size/maxChunkSize),
            chunk: $('#chunk').val()
        };
    }
});

助けていただければ幸いです

4

1 に答える 1

3

解決策が見つからない場合は、add 関数を使用してみてください。

$('#fileupload').fileupload({
    add: function (e, data) {
          data.formData = { 
            fname: data.originalFiles[0].name,
            chunks: Math.ceil(data.originalFiles[0].size/maxChunkSize),
            chunk: $('#chunk').val()
            };
          data.submit();
    } 
});

$('#chunk') の値を監視し、変更されたときに上記のコードを呼び出す必要がある場合があります。

私は AngularJS ディレクティブ内でこのようなものを使用しました

于 2013-11-20T21:07:47.540 に答える