存在问题:
文件上传后页面显示Empty file upload result,但其实后台文件已经上传成功。
分两步解决:
一。服务器端必须正确返回上传文件的JSON数据格式:
{
"files":
[
{
"name": "上传文件名称"
}
]
}
若没有文件可以返回,则样式为:
{
"files":
[
]
}
二。若还是显示Empty file upload result,检查一下上述JSON的格式问题:
比如我用newtonsoft.Json生成后的样式是
{"files":"[\r\n {\r\n \"name\": \"上传文件名称\"\r\n }\r\n]"}
JQuery Upload File就无法正确解析数组啦,导致报错。
这时需要修改jquery.fileupload-ui.js文件,进行二次JSON解析
getFilesFromResponse: function (data) {
if (data.result) {
console.log('返回结果:' + data.result.files);//文件数组的字符串
if (data.result.files!='') {
var afArray = JSON.parse(data.result.files);
if ($.isArray(afArray)) {
return afArray;
}
}
}
return [];
},
在调用的地方也应当注意修改JSON的二次解析:
$('#fileupload').fileupload({
url: url,
dataType: 'json',
done: function (e, data) {
var afArray = JSON.parse(data.result.files);
这样,可以完美解决上述问题啦!