分块的多部分问题

时间:2014-06-19 19:11:36

标签: javascript file-upload fine-uploader

我正在尝试设置FineUploader的测试实现,但是我遇到了分块的问题。我有调试设置为true,一切似乎都很好,直到我得到以下错误的过程结束:

  

" [Fine Uploader 5.0.2]所有块都已上传为0 - 最终确定...." custom.fineuploader-5.0.2.js:207   " [Fine Uploader 5.0.2]提交所有块完成0" custom.fineuploader-5.0.2.js:207   " [Fine Uploader 5.0.2]发送0"的POST请求custom.fineuploader-5.0.2.js:207   " [Fine Uploader 5.0.2]收到带有正文的响应状态200:{"错误":"服务器错误。不是多部分请求。请将forceMultipart设置为默认值(true)。"," uploadName":null," template":" undefined"," category&# 34;:"未定义"}" custom.fineuploader-5.0.2.js:207   " [Fine Uploader 5.0.2]完成0"

的成功

底部错误表示"服务器错误。不是多部分请求。请将forceMultipart设置为默认值(true)。",但据我可以告诉我的代码,它已经设置了这种方式。以下是我在代码中的内容:

var uploadHandler = $('#fine-uploader').fineUploader({
            debug: true,
            request: {
                endpoint: 'server/endpoint.php',
                forceMultipart: true,
                params: // send the values to backend file (endpoint.php)
                {
                    template:function() {
                        return $("#price_template_id").val();
                    },
                    category:function(){
                        return $("#category_id").val();
                    }
                }
            },
            validation: { // validation for the images uploaded
                allowedExtensions: ['jpeg', 'jpg'],
                sizeLimit: 20971520 // 20 MB = 20 * 1024 * 1024 bytes 20971520
            },
            editFilename: {
                enabled: true
            },
            display: { //display image on upload
                fileSizeOnSubmit: true
            },
            resume: { //enable resume on upload
                enabled: true
            },
            retry: {  //enable retry on upload
                enableAuto: true
            },
            forceMultipart: {
                enabled: true
            },
            chunking: { //enable chunking on upload
                concurrent: {
                    enabled: true
                },
                enabled: true,
                partSize: 200000, //200KB per chunk
                success: {
                    endpoint: 'server/endpoint.php'
                }
            },
            template: "qq-template",
            autoUpload: true, 
            showMessage: function(message) {  //show message if any error occur during uplaod process
                alert(message); 
            }
        })

您可以在此处查看/测试实施:http://web3.instaproofs.com/temp/fineuploaderv3/

关于我做错了什么的任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

您的服务器未正确处理"已完成的所有块" POST请求。这不是多部分编码请求。最后一个块成功上传到服务器后,由Fine Uploader发送。此POST包含一个URL编码的消息体,其中包含有关已完成的分块文件的信息。您的服务器应该组合与该文件关联的所有块,然后进行适当的响应。有关详情,请访问http://docs.fineuploader.com/branch/master/features/concurrent-chunking.html#server-side-implications