0

Django アプリケーションで jQuery ファイル アップローダーを使用しています。

Django が大きなファイルの 1 つのチャンクしか受信しないという問題があります。最初は私の問題かもしれないと思っていましたが、アップローダーからイベントUploadFileHandlerをログに記録すると、 (私の場合は 9 回ではなく) 1 回だけ発生します。chunksend

アップローダが 1 つのチャンクだけを送信する理由はありますか?

これが私のコードです:

$('#fileupload').fileupload({
            dataType: 'json',
            maxChunkSize: 10000000,
            add: function (e, data) {

                console.log(data);

                var uploadRow = $('#upload-item-master')
                                    .clone()
                                    .removeAttr('id')
                                    .appendTo("#upload-container")
                                    .hide()
                                    .fadeIn(1000);
                uploadRow.find('.name').text(data.files[0].name);                   

                var jqXHR = data.submit()
                        .always(function (result, textStatus, jqXHR) {
                             if(result.status == 201) {
                                uploadRow.find('.progress .bar').css('width','100%');
                                uploadRow.find('.progress').removeClass('active');
                             } else {
                                uploadRow.find('.progress .bar').css('width','100%');
                                uploadRow.find('.progress').removeClass('progress-success');
                                uploadRow.find('.progress').removeClass('progress-success');
                                uploadRow.find('.progress').addClass('progress-danger');
                             }
                        })
            },
            chunksend: function(e, data) {
                console.log("Chunk sent");
            },
            progress: function (e, data) {
                var progress = parseInt(data.loaded / data.total * 100, 10);

            }
        });
4

1 に答える 1

0

解決策は、プラグインがJSONOK を必要とすることです。それ以外はすべて問題があると解釈され、次のチャンクは送信されません。

このコードで

return HttpResponse(json.dumps({ 'status': 201 }), content_type="application/json")

プラグインはチャンクごとにサーバーに送信します。残念ながら、正しいヘッダーの横にあるサーバーは、それらを個別のファイルとして解釈し、チャンクごとに 1 つの新しいファイルを作成します...ここで新しい問題について新しい質問を作成しました。

于 2013-06-24T13:17:50.480 に答える