Datei-upload mit JQuery und ASP.NET Generische Handler - Ist das möglich?

Ich versuche zu lösen ein kleines Problem. Ich baute eine ganze web ASP.NET Anwendung, die vor allem mit client-Seite (JQuery/JavaScript -) code. Ich benutze generischen Handler, um einige der lazy loading von Daten, sowie für die auto-vervollständigen und ähnliches.

Einer der Anforderungen ist, dass eine Seite muss in der Lage sein, um eine Datei hochzuladen, sowie die Anzeige von meta-Informationen über die uploadead-Dateien.

Ich da Fragen, ob es einen Weg gibt, um eine Datei hochzuladen, die komplett aus der JQuery/JavaScript. Ich recherchierte eine ganze ot von plugins, aber Sie alle verlassen sich auf ein php-backend.

Mein Gedanke war es, einen Beitrag erstellen:

$(function(){
    $('#submit').live('click', function(event){

        $.post('/SomeOtherHandler.ashx',  //can be '/someotherpage.aspx'
        { 
            filename: $('#fileUpload').val(), 
            timestamp: (new Date()).toString() 
        }, function(data){
             //do something if the post is successful.
        });

    });
});

Wäre, dass die Arbeit? Ich weiß, dass, wenn Sie das json-Objekt { filename: value, timestamp: value } es wird zeigen, bis in der HttpContext.Request.Params - Sammlung, wo ich es Lesen kann, ohne Probleme.

Das problem ist jedoch, dass ich nicht weiß, wie dies funktionieren wird, da der FileUpload-Steuerelement für html speichert nur den Namen der Datei, in seinem Wert. Daher wäre ich senden einen string zu meinem server mit den Dateinamen, nicht ein array von bytes.

Irgendwelche Gedanken zu diesem würde sehr geschätzt werden!

  • Korrigiert mich wenn ich mich Irre, aber wenn ein <input type="file".../> ist eine Besondere Art von post ist erstellt: eine, wo ein mime-Typ wird mit der mitgelieferten Datei sowie einige andere Dinge. Der post passiert, was auch immer Ihre <form action="".../> Punkte zu. Wenn Sie auf ein <input type="submit".../> den gesamten Inhalt des Formulars gesendet wird über einen http-POST an die server-side-code einschließlich der Datei-bits. Ein bin nicht zu Fragen, packen die Datei in JavaScript, aber einfach zu neu zu erstellen, http-POST, so dass mein handler/Seite erhalten die Daten, die von der <input type="file".../> Feld.
  • javascript kann nicht post ein Formular mit einem input-Typ der Datei. Es wird nicht die Datei hochladen.
  • Ich habe ein ähnliches Problem. Umsetzung HTML5-drag-and-drop war ein Stück Kuchen, Dank dem File-Objekt. Aber, meine <input type='file' /> ist für Browser, die noch nicht unterstützt werden, Ziehen ein Drop (hauptsächlich IE und ältere Browser). Immer noch versuchen, einen Weg zu finden
InformationsquelleAutor bleepzter | 2011-02-11
Schreibe einen Kommentar