0

サーバーに大きなビデオ ファイルをアップロードするために、fineuploader を使用しています。IE8 - IE9 を除くすべてのブラウザで完全に動作します。ファイルのアップロードが開始されますが、その後、ほぼ「永久に」アップロードされ続け、完了しません。

小さなファイルの IE で動作します (最大 PHP 投稿サイズによって制限されます)。これを停止する方法、または IE8-9 ユーザーに何らかのエラー メッセージを表示する方法はありますか?

投稿ファイルの最大サイズを何か大きなものに設定することを考えていましたが、サーバーのパフォーマンスに問題があるかどうかわかりませんか?

どんな助けでも大歓迎です。これまでの私のコードは次のとおりです。

<script src="fineuploader/jquery.fineuploader-3.7.0.js"></script>
<script>
    var fileCount = 0;
    var addedFiles = 0;
    var fileLimit = 1;

    $(document).ready(function() {
        //Hide Submit button until video has finished uploading
        $('#submit').hide();
        $('#uploadmessage').hide();
        var filelimituploader = new qq.FineUploader({
            element: $('#filelimit-fine-uploader')[0],
            request: {
                endpoint: 'processfile/example.php'
            },
            retry: {
                enableAuto: true
            },
            chunking: {
                enabled: true
            },
            resume: {
                enabled: true
            },
            validation: {
                allowedExtensions: ['png','jpg','jpeg','gif','mp4','avi','mov','mpg','flv','m4v'],
                sizeLimit: 199229440
            },
            callbacks: {
                onSubmit: function(id, fileName) {
                    $('#uploadmessage').show();

                    fileCount ++;
                    if(fileCount > fileLimit) {
                        $('#filelimit-fine-uploader .qq-upload-button').hide();
                        $('#filelimit-fine-uploader .qq-upload-drop-area').hide();
                        return false;
                    }
                },
                onCancel: function(id, fileName) {
                    $('#uploadmessage').hide();
                    fileCount --;
                    if(fileCount <= fileLimit) {
                        $('#filelimit-fine-uploader .qq-upload-button').show();
                    }
                },
                onComplete: function(id, fileName, responseJSON) {
                    if (responseJSON.success) {
                        addedFiles ++;
                        if(addedFiles >= fileLimit) {
                            $('#filelimit-fine-uploader .qq-upload-button').hide();
                            $('#filelimit-fine-uploader .qq-upload-drop-area').hide();
                            //$('#filenamehere').html(responseJSON.uploadName);
                            $('#filen').val(responseJSON.uploadName);
                            $('#submit').show();
                            $('#uploadmessage').hide();
                        }
                    }
                }
            }
        });
    });
</script>
4

1 に答える 1

0

これが心配な場合は、サーバー側の最大アップロード サイズの値を非常に大きな値に設定してください。Fine Uploader が提供するファイル チャンク機能を利用して、チャンク サイズを特定の数値、たとえば「10000000」(10 MB) に設定できます。これにより、すべてのリクエストが 10 MB を超えないようになります (さらに、リクエストがマルチパート エンコードされている場合はオーバーヘッドが発生します)。ただし、チャンクは IE9 以前では使用できないことに注意してください。ただし、これは他のすべてのブラウザーで機能します。

于 2013-07-23T14:26:49.323 に答える