jQuery fileupload - abrufen der Liste der hochgeladenen Dateien
Bin ich mit dem sehr guten jquery-plugin blueimp /jQuery-File-Upload
$('#fileupload').fileupload({
autoUpload: true
, filesContainer: '#attachments_presentation tbody'
, stop: function (e) {
console.log(data);
}
});
Und ich bin nicht in der Lage, etwas zu tun, ganz einfach: Holen Sie sich die Liste der hochgeladenen Dateien
(mit Ihrem Namen auf dem server)
Zunächst bin ich naiv, wenn es gespeichert werden würde auf der Datei ein, also konnte ich die Liste mit
$('#fileupload').val();
Aber es ist nicht, also wenn ich etwa so etwas wie
$('#fileupload').fileupload('getfiles');
Ich kann nicht finden den Weg aus der docs
Kann jemand mir sagen, wie ich die Liste der hochgeladenen Datei-Namen im server ?
Update
Ich würde gerne die hochgeladenen Dateien Namen auf der server, um der Lage sein, um Sie zu verwalten danach.
Beispiel:
- Ich lade eine Datei mit dem Namen
trutruc.pdf
- Ich hochladen
test.png
- Ich re-upload eine Datei mit dem Namen
trutruc.pdf
- Lösche ich die erste Datei
Die aktuelle Liste der Dateien auf dem server sollte dann test.png
, trutruc (2).pdf
Update 2
Ich bin mit dem Standard-php-Skript versendet mit fileUpload
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie instanziieren Sie das Standard-plugin, dort ist ein code-Teil, der ist abrufen alle bisherigen hochgeladenen Dateien (vorausgesetzt, Sie haben sich nicht verändert, der server-code) :
Finden Sie auf der
main.js
Datei Zeile 70 :Als wenn man sich weiter in Ihrem code gibt es eine Tabelle, die ausgefüllt werden mit der Vorlage :
Könnte man leicht zu analysieren-jede aus, dass die Tabelle nach dem laden der Dateien :
done
&destroy
Ich mit UI-version.
Hier ist das Skript, das packt server-verbindungen aus der Tabelle der Dateien und füllt array:
href
Attribute bedeutet, dass Sie nur in Betracht ziehen, die hochgeladenen Dateien auf den server und nicht in der que. Dies ist, was ich suchte. Tolle Arbeit!können Sie auch versuchen, diese
Ich hatte das gleiche problem und nach ein paar Stunden und Dutzende von Datei-uploads, ich glaube ich habe die Antwort, die Sie brauchen:
Wie Sie sehen können, finden Sie die hochgeladenen Dateien Namen an
parsedresponse.files[i].url
(ich ist die 0-basierte index der hochgeladenen Dateien).Ok... seine hochgeladenen Datei die URL, aber Sie werden in der Lage, extrahieren Sie die Letzte Datei name ...
Hoffe, es hilft.
(dies ist nirgendwo in der Dokumentation konnte ich zu dieser Lösung durch die überprüfung der Firebug-Konsole Ausgänge)
Abrufen der Liste der hochgeladenen Datei Namen aus der server, erfordert server-side-code:
UploadHandler.php wird verwendet, um den upload von Dateien auf ein Verzeichnis/s auf Ihrem server.
Wenn Sie heruntergeladen haben die plug-in-Archiv und extrahiert es auf den server, werden die Dateien in php-Dateien standardmäßig.
(Stellen Sie sicher, dass die php/Dateien-Verzeichnis hat server-Berechtigungen zu schreiben.)
siehe: https://github.com/blueimp/jQuery-File-Upload/wiki/Setup
UploadHandler.php ist nur, dass eine upload-handler.
Es bietet keinen Zugriff auf server-Dateien ohne Verbindung zum server.
JavaScript kann nicht auf Dateien zugreifen, die auf der server, so müssen Sie ein php-Skript zu tun.
(Obwohl JavaScript könnte möglicherweise verfolgen alles hochgeladen, umbenannt und gelöscht werden.)
Können Sie ändern UploadHandler.php zu Ihrer Datenbank zu verbinden, und schreiben Sie die Datei-Pfade (und alle anderen Daten) in einer Datei-Tabelle beim hochladen.
Dann können Sie den Zugriff auf Ihre Dateien über standard-SQL-Abfragen:
Ändern UploadHandler.php:
finden Sie unter: https://github.com/blueimp/jQuery-File-Upload/wiki/Working-with-databases
Gut, das ist schon ein Alter post, aber das ist etwas, das funktionierte sehr gut für mich, so dachte ich, um es zu veröffentlichen.
Binden Sie das Ereignis FileUploader (so habe ich es in main.js):
In Ihrer html-Datei verwenden Sie den folgenden code, um die Datei-name:
Sollte man sehen das Daten-Objekt in firebug. Dieses Objekt kapselt die meisten Informationen.
Wenn Sie ' r mit dem basic-plugin asmentioned in der Dokumentationen Sie müssen übergeben Sie die Daten an die Funktion in der done-Attribut.
ändern Sie diese:
zu diesem:
Ich weiß nicht, über die stop, wenn Sie bekommen es von einem der Dokumentationen Seiten dann denke ich, das gleiche galt auch hier kann man nicht arbeiten mit Daten wenn Ihr nicht zur Verfügung.
Hoffe, diese Hilfe
data
scheint, enthält nur den ursprünglichen Namen der Datei. Ich brauche die Datei-server-name, siehe mein updatedata
ist die Rückgabe von Daten von dem server-wenn Sie so wollen, den neuen Dateinamen ein, schicken Sie es wieder vom server.data
form kommt, der server aber wie kann ich die neue Datei-Namen aus oder ?echo json_encode(array('file_name' => $file_name));
und erhalten Sie den $file_name aus, was Sie setit, um in das PHP-Skript.fileUpload
versuchen, done-Methode und legen Sie Namen in versteckten Eingang, dann wählen Sie:
filess.name
enthält den ursprünglichen Namen der Datei. Ich muss den Namen der Datei auf dem server, es kann verändert werden, indem die server-uploader-Klasse, dh:trutruc.pdf (2)
wenntrutruc.pdf
bereits vorhanden ist.bekommen Dateiliste hochladen fertig: