Fineuploader永远不会在IE8-9上完成

时间:2013-07-22 01:48:25

标签: javascript fine-uploader

我正在使用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>

1 个答案:

答案 0 :(得分:0)

如果您担心这一点,请将最大上传大小值服务器端设置为一个非常大的数字。您可以使用Fine Uploader提供的文件分块功能,并将块大小设置为特定的数字,例如“10000000”(10 MB)。这将确保所有请求不超过10 MB(如果请求是多部分编码,则加上一些开销)。请注意,在IE9或更早版本中无法进行分块,但这适用于所有其他浏览器。