Ein Bild hinzufügen, um der MEAN.JS Beispiel mit Winkel-Datei-upload
Ich bin mit MEAN.JS (https://github.com/meanjs/mean) und Winkel-Datei-upload (https://github.com/danialfarid/angular-file-upload).
Den "Artikel" - Probe zur Verfügung gestellt von MEAN.JS enthält zwei Felder mit den Namen "title" und "content". Ich möchte zu ändern, und fügen Sie ein "Bild" - Feld, so dass der Benutzer ein Bild hochladen.
Verstehe ich, dass ich ändern müssen, um 3 Dateien in MEAN.JS:
~myproject/app/models/article.server.model.js
~myproject/public/modules/articles/controllers/articles.client.controller.js
~myproject/public/modules/articles/views/create-article.client.view.html
Allerdings kann ich nicht ändern, Sie ist erfolgreich.
Welche Veränderungen haben Sie versucht, so weit auf diese Dateien? Während es ist gut, dass Sie identifiziert haben, gibt es nicht viel zu gehen, wenn wir nicht wissen, was Sie versucht haben.
InformationsquelleAutor Xavier M | 2015-01-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Meine Lösung verwendet Winkel-Datei-upload auf dem client und verwendet verbinden-mit mehreren Teilnehmern zum behandeln der file-upload.
Dem die Bilder gespeichert werden direkt in der Datenbank, die Grenzen Ihrer Größe. Ich habe nicht enthalten die erforderlichen code, um zu überprüfen, der Größe des Bildes.
eingerichtet
all.js
fügen Sie eckige-file-upload-scripts
config.js
Spritzen Winkel-Datei-upload Abhängigkeit
article.client.controller.js
Verwenden Sie eckige-Datei-upload Abhängigkeit
create-article.client.view.html
aktualisieren Sie die Ansicht erstellen zu handhaben Dateiauswahl und upload
view-article.client.view.html
aktualisieren Sie die Listenansicht, um Bild
list-articles.client.view.html
"Ansicht aktualisieren" zu gehören imgae
article.server.model.js
Bild hinzufügen, um Datenbank-Modell
article.server.routes.js
Fügen Sie neue route für den upload verwenden Sie connect-die Mehrparteien -
article.server.controller.js
Griff neue route für den upload benötigen, fs
Was schief geht, liefern Fehlermeldungen und code, und ich kann möglicherweise helfen.
bitte siehe meine Lösung unter @john purnell
Sorry Charlie, ich bin off bedeutet im moment, also nur eine kurze Antwort. finden Sie die Winkel-Datei-upload-doco z.B.
Upload multiple files: Only for HTML5 FormData browsers (not IE8-9) if you pass an array of files to file option it will upload all of them together in one request. Non-html5 browsers due to flash limitation will still upload array of files one by one in a separate request. You should iterate over files and send them one by one if you want cross browser solution.
Prunell, Dank Johannes, ich werde in diesem und Sie wissen lassen, wie ich auf Sie.
InformationsquelleAutor John Purnell
Dank Charlie Tupman für diese Letzte Lösung, die funktioniert sehr gut.
Ich einfach die Abhängigkeiten :
bevor Sie die Export-Funktion und änderte zwei Linien verbessern das Verhalten:
dem auflösen in:
InformationsquelleAutor Julien Mery
Meine funktionierende Lösung in MEAN.js
server-Modell:
server-controller:
server-route: (erfordert multer: "npm install multer --speichern")
frontend angular controller:
service, das senden der Anfrage:
html-Ansicht:
Wenn Sie nicht, lösen Sie es schon, hier etwas code
Füge ich das Werk auf meine client-Dienst auf verschiedene Arten, aber ich bekomme 'ItemsService ist nicht definiert: public\modules\testcruds\Controller\testcruds.client.controller. ItemsService.saveItem(testcrud,$Umfang.Bild); 'ItemsService' ist nicht definiert.
stellen Sie sicher, dass Sie injiziert service im controller-Abhängigkeiten: ~ Winkel.Modul(...).controller('...',['Abhängigkeiten'
Implementiert habe ich verbatim, aber die
$scope.uploadImage = function(e)
nicht ausgelöst wird, wenn ein Bild im browser ausgewählt wird, kann ich nicht sehen, was ich bin fehlt?InformationsquelleAutor Mike
@john prunell ich Danke Ihnen so sehr dafür, ich endlich kapiert (ich brauchte über eine Woche, aber ich bin jetzt viel wohler mit dem stack -) ich habe die Gabel es, um es zu laden Sie die Datei in einen Ordner:
Was ich tun möchte, jetzt ist die Gabel Ihre Lösung zu ermöglichen das hochladen mehrerer Bilder in der gleichen Weise, wenn Sie haben keinen Einblick, wie das zu tun, würde erstaunlich sein, werde ich Sie wissen lassen, wie ich auf Sie.
InformationsquelleAutor Charlie Tupman