上传文件后,在将其保存在磁盘上之前,我正在进行一些验证。
如果出现故障,我想向用户显示我的自定义错误消息。 我在这里找到了一些东西Uploadify: show error message from HTTP response
如何在MVC 3中执行此操作?
答案 0 :(得分:2)
托尼,
直接从我正在处理的ab mvc3应用程序中获取:
<script type="text/javascript">
function initupLoadify() {
$("#fileInput").uploadify({
uploader: '@Url.Content("~/scripts/swf/uploadify.swf")',
script: '@Url.Action("Upload", "Home")',
cancelImg: '@Url.Content("~/Content/cancel.png")',
auto: true,
sizeLimit: 5500000,
fileDataName: 'fileData',
//scriptData: { 'propertyId': $("#PropertyID").val() },
buttonText: 'Add Schedule',
wmode: 'transparent',
//buttonImg: '@Url.Content("~/Content/button.png")', // make nice gradient image for button
onComplete: function (event, queueId, fileObj, response) {
$("#msg").html(response);
// do something
setTimeout(2000, window.location = '@Url.Action("Index")' + '?id=' + response);
return true;
},
onCancel: function (evt, queueId, fileObj, data) {
$("#msg").html("<br />Operation cancelled");
return true;
},
onOpen: function (evt, queueId, fileObj) {
$("#msg").html("<br />Upload in progress");
return true;
},
onError: function (event, queueId, fileObj, errorObj) {
$("#msg").html(fileObj.name + " was not uploaded ");
if (errorObj.status == 404)
$("#msg").html("Could not find upload script. Use a path relative to: " + "<?= getcwd() ?>");
else if (errorObj.type === "HTTP")
$("#msg").html("error " + errorObj.type + ": " + errorObj.status);
else if (errorObj.type === "File Size")
$("#msg").html(fileObj.name + " " + errorObj.type + " Limit: " + errorObj.info / 1000 + " KB");
else
$("#msg").html("error " + errorObj.type + ": " + errorObj.text);
}
});
};
</script>
希望这会有所帮助
答案 1 :(得分:0)
这是一个MVC 3 example。
如果您使用的是3.0+版本,请使用onUploadComplete代替onComplete(实现其参数不同)。