Getting Uploadify für die Arbeit mit asp.net-mvc

Ich versuche, Uploadify für die Arbeit mit meiner Site zu aktivieren, aber es wird ein allgemeiner "HTTP-Fehler" angezeigt, noch bevor die Datei an den Server gesendet wird (ich sage dies, weil Fiddler meinem Controller keine Post-Anfrage zeigt.

Ich kann korrekt nach der hochzuladenden Datei suchen. Die Warteschlange ist korrekt mit der hochzuladenden Datei gefüllt, aber wenn ich auf die Schaltfläche "Senden" drücke, wird das Element in der Warteschlange rot und sagt "HTTP-Fehler".

Anyway das ist mein Teilcode:

<% using ( Html.BeginForm( "Upload", "Document", FormMethod.Post, new { enctype = "multipart/form-data" } ) ) { %>
<link type="text/css" rel="Stylesheet" media="screen" href="/_assets/css/uploadify/uploadify.css" />
<script type="text/javascript" src="/_assets/js/uploadify/swfobject.js"></script>
<script type="text/javascript" src="/_assets/js/uploadify/jquery.uploadify.v2.1.0.min.js"></script>
<script type="text/javascript">
    $(document).ready(function() {

        $("[ID$=uploadTabs]").tabs();

        var auth = "<% = Request.Cookies[FormsAuthentication.FormsCookieName]==null ? string.Empty : Request.Cookies[FormsAuthentication.FormsCookieName].Value %>";
        $('#fileInput').uploadify({
            uploader: '/_assets/swf/uploadify.swf',
            script: '/Document/Upload',
            folder: '/_uploads',
            cancelImg: '/_assets/images/cancel.png',
            auto: false,
            multi: false,
            scriptData: { token: auth },
            fileDesc: 'Any document type',
            fileExt: '*.doc;*.docx;*.xls;*.xlsx;*.pdf',
            sizeLimit: 5000000,
            scriptAccess: 'always', //testing locally. comment before deploy
            buttonText: 'Browse...'
        });

        $("#btnSave").button().click(function(event) {
            event.preventDefault();
            $('#fileInput').uploadifyUpload();
        });

    });
</script>
    <div id="uploadTabs">
        <ul>
            <li><a href="#u-tabs-1">Upload file</a></li>
        </ul>
        <div id="u-tabs-1">
            <div>
            <input id="fileInput" name="fileInput" type="file" />
            </div>
            <div style="text-align:right;padding:20px 0px 0px 0px;">
                <input type="submit" id="btnSave" value="Upload file" />
            </div>
        </div>
    </div>
<% } %>

ielen Dank für Ihre Hilf

AKTUALISIERE:

Ich habe dem uploadify-Skript einen "onError" -Handler hinzugefügt, um zu ermitteln, welcher Fehler wie im folgenden Beispiel aufgetreten ist.

onError: function(event, queueID, fileObj, errorObj) {
    alert("Error!!! Type: [" + errorObj.type + "] Info [" + errorObj.info + "]");
}

und entdeckte, dass die Info-Eigenschaft @ enthä 302. Ich habe auch das @ hinzugefü"Methode" Parameter zum Hochladen mit dem Wert von'Post'.

Ich füge meinen Controller-Aktionscode zur Information hinzu. Ich habe viele Posts zu uloadify gelesen und es scheint, dass ich eine Aktion mit der folgenden Signatur verwenden kann ...

[HttpPost]
public ActionResult Upload(string token, HttpPostedFileBase fileData) {
    FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(token);
    if (ticket!=null) {
        var identity = new FormsIdentity(ticket);
        if(identity.IsAuthenticated) {
            try {
                //Save file and other code removed
                return Content( "File uploaded successfully!" );
            }
            catch ( Exception ex ) {
                return Content( "Error uploading file: " + ex.Message );
            }
        }
    }
    throw new InvalidOperationException("The user is not authenticated.");
}

Kann jemand bitte etwas Hilfe leisten?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage