jQuery AJAX file upload PHP
Will ich implementieren einen einfachen Datei-upload in meiner intranet-Seite, mit die kleinste Konfiguration, die möglich ist.
Dies ist mein HTML-Teil:
<input id="sortpicture" type="file" name="sortpic" />
<button id="upload">Upload</button>
und dies ist mein JS jquery-Skript:
$("#upload").on("click", function() {
var file_data = $("#sortpicture").prop("files")[0];
var form_data = new FormData();
form_data.append("file", file_data);
alert(form_data);
$.ajax({
url: "/uploads",
dataType: 'script',
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(){
alert("works");
}
});
});
Dort ist ein Ordner namens "uploads" im root-Verzeichnis der website, mit ändern Berechtigungen für "Benutzer" und "IIS_users".
Wenn ich wählen Sie eine Datei mit der Datei-form und drücken Sie die Schaltfläche "hochladen", der erste alert gibt "[Objekt FormData]". die zweite Warnung nicht genannt und der"uploads" Ordner ist leer auch!?
Kann jemand helfen, mein herauszufinden, was ist falsch?
Auch der nächste Schritt sein sollte, benennen Sie die Datei mit der server-Seite generierten Namen. Vielleicht kann jemand geben Sie mir eine Lösung für dieses auch.
Alles funktioniert für mich, vielleicht ist es dein PHP-code?
es ist nichts anderes als "verbunden" mit dieser form. was meinst du mit meinem php-code?
Was ich meine ist, Ihr code funktioniert, vielleicht ist das problem in der server-seitigen code.
Sind Sie immer einen 500-Fehler-code beim ausführen der AJAX-Skript? Das würde darauf hindeuten, dass es ein serverseitiger Fehler ist. Auch: stellen Sie sicher, dass beim Debuggen der Ausgabe der PHP-Datei die Antwort auf die Konsole. So, wenn Ihr PHP-code wirft einen Fehler, Sie wissen, was Los ist.
InformationsquelleAutor user2355509 | 2014-06-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie ein Skript auf dem server ausgeführt wird, verschieben Sie die Datei in das uploads-Verzeichnis. Die jQuery -
ajax
Methode (ausgeführt im browser) sendet die Formulardaten an den server, der dann ein script auf dem server verarbeitet den upload. Hier ist ein Beispiel mit PHP.Ihre HTML-ist in Ordnung, aber aktualisieren Sie Ihre JS jQuery-Skript wie folgt Aussehen:
Nun für die server-side script, mit PHP in diesem Fall.
upload.php: ein PHP-script läuft auf dem server und leitet die Datei an den uploads-Verzeichnis:
Auch, ein paar Dinge über das Ziel-Verzeichnis:
Und ein wenig über die PHP-Funktion
move_uploaded_file
, die in der upload.php Skript:$_FILES['file']['name']
ist der name der Datei, wie es hochgeladen wird. Sie müssen nicht zu verwenden. Sie können geben Sie der Datei einen beliebigen Namen (server-Dateisystem kompatibel) Sie möchten:Und schließlich, achten Sie auf Ihre PHP -
upload_max_filesize
UNDpost_max_size
Konfiguration Werte, und seien Sie sicher, dass Ihre test-Dateien nicht überschreiten. Hier ist etwas Hilfe, wie Sie überprüfen Sie die PHP-Konfiguration und wie Sie set max filesize und post-Einstellungen.Ah, die Eingabe in ein Formular Namen "sortpic" wird geändert in "Datei" in der
form_data.append
Funktion. Also änderte ich das PHP-Skript, um die neue Eingabe in ein Formular name. Auch ich zog das PHP-Skript Reaktion in die ajax-Erfolgsmeldung, die für das Debuggen.Buddy, es gibt mir eine Fehlermeldung undefined index Datei auf
$_FILES['file']
der code prop('files')[0] greift auf die lokale Datei soll für den upload auf den server. Wenn Sie mehr Erklärung nachschlagen jQuery-Funktion "prop" und "html5 Datei-upload".
Ich habe dieses Problem behoben.Der Grund dafür war die Dateigröße zu groß war.
InformationsquelleAutor bloodyKnuckles
InformationsquelleAutor Azhar
- und dies ist die php-Datei zum empfangen der uplaoded Dateien
if (true)
tun? Ist immer die Auswertung true, so nutzlos ist, ist es nicht? Auch Sie haben eine zusätzliche end-lockig.Ich befestigt es für Sie. 🙂
InformationsquelleAutor kavehmb
InformationsquelleAutor Hasib Kamal
Beste Datei-Upload Mit Jquery Ajax Mit Materialise
Klicken Sie Hier zum Download
Wenn Sie Bild auswählen, wird das Bild Konvertiert base-64-und Sie können diesen speichern in der Datenbank, es wird so sein geringes Gewicht auch.
InformationsquelleAutor Urshit Sheth