Tony
Tony

Reputation: 12695

MVC 3 & Uploadify - how to show custom error message?

After uploading a file, before I save it on the disk, I'm doing some validation.

If something fails, I want to show my custom error message to the user. I've found something sililar here Uploadify: show error message from HTTP response

How to do this in MVC 3 ?

Upvotes: 1

Views: 1538

Answers (2)

site
site

Reputation: 1638

Here is an MVC 3 example.

If you're using versions 3.0+ use onUploadComplete instead of onComplete (realize their parameters differ).

Upvotes: 0

jim tollan
jim tollan

Reputation: 22485

Tony,

Taken straight from ab mvc3 app that I'm working on right now:

<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>

hope this helps

Upvotes: 2

Related Questions