MVC 3& Uploadify - 如何显示自定义错误消息?

时间:2012-07-20 10:53:04

标签: asp.net-mvc-3 uploadify

上传文件后,在将其保存在磁盘上之前,我正在进行一些验证。

如果出现故障,我想向用户显示我的自定义错误消息。 我在这里找到了一些东西Uploadify: show error message from HTTP response

如何在MVC 3中执行此操作?

2 个答案:

答案 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(实现其参数不同)。