Senden eines HTML-Formulars mit AJAX, das eine Dateieingabe enthält

8

Können Sie ein Formular über AJAX senden, das eine Dateitypeingabe enthält? Ich versuche, jquery zu benutzen, aber es scheint, dass es die gesendete Datei nicht serialisieren kann. Ist dies etwas, das vom Browser als Sicherheitsrisiko blockiert wird? Gibt es einen Weg dahin?

    
Andrew Hubbs 09.04.2011, 00:18
quelle

4 Antworten

3

Sie können dazu den File API , Teil von HTML5, verwenden:

Ссылка

Für eine Diskussion über das Posten mit ihm können Sie mit

beginnen

Ссылка

Grundsätzlich kann JavaScript mit dem File API Dateien vom lokalen System lesen, wenn der Browser dies unterstützt, und Sie können das dann einfach über einen Ajax-Aufruf zusammen mit allem, was Sie sonst noch senden müssen, posten.

>

Wenn Sie mehrere Dateien einreichen müssen, ist dies ein guter Ausgangspunkt:

Ссылка

Wenn Sie jQuery verwenden müssen, können Sie dieses Plugin ausprobieren, obwohl ich es noch nie benutzt habe:

Ссылка

    
James Black 09.04.2011, 03:52
quelle
2

Ich habe Scott Harwell abgelehnt, ohne eine genaue Erklärung dafür zu geben, warum ich abgelehnt habe. Ich habe abgelehnt, weil dies getan werden kann, und ich mache es konsequent. Mein Code ist wie folgt:

html-Tag:

%Vor%

Der Schlüssel ist enctype="multipart/form-data"

Meine jQuery ajax-Anweisung lautet wie folgt:

%Vor%

Ich verwende Visual FoxPro als meine Programmiersprache für diese Funktion, damit ich meinen VFP-Code posten kann, aber Sie können diesen Code nur an die Programmiersprache anpassen, die Sie verwenden:

%Vor%

Dies empfängt den Eingabewert als loAttachment (lo steht für Local Object). Dann wird unter anderem festgestellt, ob die Länge des Anhangsinhalts größer als 0 ist. Wenn dies der Fall ist, wird der Anhang für den späteren Zugriff in einem lokalen Webverzeichnis gespeichert.

    
sadmicrowave 12.04.2011 17:05
quelle
0

Sehen Sie sich das AJAX-Upload-Plug-In an.

    
Jordan Arron 09.04.2011 00:54
quelle
0

Die technische Antwort ist nein, aber es gibt "Hacks", um Ihr Formular an einen versteckten iFrame zu senden, um so zu erscheinen, als wäre es Ajax. Eine Google-Suche sollte viele Beispiele ergeben.

    
Scott Harwell 09.04.2011 00:58
quelle

Tags und Links