我正在尝试设置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/
关于我做错了什么的任何想法?
谢谢!
答案 0 :(得分:1)
您的服务器未正确处理"已完成的所有块" POST请求。这不是多部分编码请求。最后一个块成功上传到服务器后,由Fine Uploader发送。此POST包含一个URL编码的消息体,其中包含有关已完成的分块文件的信息。您的服务器应该组合与该文件关联的所有块,然后进行适当的响应。有关详情,请访问http://docs.fineuploader.com/branch/master/features/concurrent-chunking.html#server-side-implications。