所以,我在 MVC 4 应用程序中使用 FineUploader 3.3,这是一个非常酷的插件,非常物有所值。现在,我只需要让它正常工作。
我对 MVC 很陌生,对传回 JSON 也很陌生,所以我需要一些帮助才能让它工作。这是我正在使用的,全部在doc.ready
.
var manualuploader = $('#files-upload').fineUploader({
request:
{
endpoint: '@Url.Action("UploadFile", "Survey")',
customHeaders: { Accept: 'application/json' },
params: {
//variables are populated outside of this code snippet
surveyInstanceId: (function () { return instance; }),
surveyItemResultId: (function () { return surveyItemResultId; }),
itemId: (function () { return itemId; }),
imageLoopCounter: (function () { return counter++; })
},
validation: {
allowedExtensions: ['jpeg', 'jpg', 'gif', 'png', 'bmp']
},
multiple: true,
text: {
uploadButton: '<i class="icon-plus icon-white"></i>Drop or Select Files'
},
callbacks: {
onComplete: function(id, fileName, responseJSON) {
alert("Success: " + responseJSON.success);
if (responseJSON.success) {
$('#files-upload').append('<img src="img/success.jpg" alt="' + fileName + '">');
}
}
}
}
编辑:我一直在使用 Internet Explorer 9,然后切换到 Chrome、Firefox,我可以上传就好了。IE9 需要什么?无论浏览器如何,验证都不起作用。
端点触发,并填充文件/参数,所以这一切都很好!验证不会阻止用户选择此列表之外的内容,但我暂时可以使用它。我可以成功保存并做我需要做的上传,减去OnComplete
触发。实际上,在 IE 中,我得到了一个包含当前内容的 OPEN/SAVE 对话框。
onComplete
问题: ( id
, filename
, )中的函数参数是responseJSON
由返回填充还是在输出填充?我只是对此感到困惑。我的 JSON 是否必须在其中包含这些参数并填充?
我不这样做(填充那些参数),我在 C# 中的输出方法返回JsonResult
看起来像这样,只返回“成功”(如果合适的话):
return Json(new { success = true });
我需要添加更多吗?这条线是在保存之后,我想做的就是告诉用户一切都好还是不好。success
我的 JSON 中的属性是否与responseJSON.success
?
我错过了什么,或者有什么问题?