Winkel-Datei Hochladen
Ich bin Anfänger für die Winkelgeschwindigkeit, möchte ich wissen, wie man Winkel 5 Datei-upload Teil, ich bin versuchen zu finden tutorial oder doc, aber ich sehe Sie nicht überall. Eine Idee dafür? Und ich versuche SG4-Dateien aber es funktioniert nicht für Eckige 5
- so do u want ziehen und ablegen oder einfach
Choose File
btn hochladen ? Bdw ist in beiden Fällen u laden Sie einfach mit FormData - Werfen Sie einen Blick auf primeng, ich benutze es schon seit eine Weile und es funktioniert mit eckigen v5. primefaces.org/primeng/#/fileupload
- Für diejenigen, die brauchen nur zu laden JSON an den client, überprüfen Sie heraus diese Frage: stackoverflow.com/questions/54971238/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist ein funktionierendes Beispiel für Datei-upload api:
Schritt 1: HTML-Template (file-upload.component.html)
Definieren, einfache input-tag vom Typ
file
. Fügen Sie eine Funktion hinzu, um(change)
-event-handling für die Auswahl von Dateien.Schritt 2: Upload-Handling in Typoskript (Datei-upload.Komponente.ts)
Definieren Sie eine Standard-variable für die ausgewählte Datei.
Funktion erstellen, die Sie verwenden, in
(change)
-Ereignis in der Datei input-tag:Wenn Sie zu behandeln, multifile Auswahl, als Sie Durchlaufen können diese Dateien array.
Erstellen Sie nun die Datei-upload-Funktion, durch die Sie aufrufen Datei-upload.service:
Schritt 3: Datei-Upload-Dienst (Datei-upload.service.ts)
Durch das hochladen einer Datei per POST-Methode sollten Sie verwenden
FormData
, denn so können Sie Datei hinzufügen, um http-request.So, in Diesem sehr einfachen Beispiel arbeiten, die ich täglich in meiner Arbeit.
const invFormData: FormData = new FormData(); invFormData.append('invoiceAttachment', invoiceAttachment, invoiceAttachment.name); invFormData.append('invoiceInfo', JSON.stringify(invoiceInfo));
Der controller verfügt über zwei entsprechenden Parameter, aber ich hatte zum Parsen der JSON in der Steuerung. Mein Core 2 controller würde nicht automatisch pickup-Modells in die parameter. Mein ursprünglicher Entwurf war ein Modell mit einem file-Eigenschaft, aber ich konnte es nicht zu funktionierencreateContrat(fileToUpload: File, newContrat: Contrat): Observable<boolean> { let headers = new Headers(); const endpoint = Api.getUrl(Api.URLS.createContrat)); const formData: FormData =new FormData(); formData.append('fileKey', fileToUpload, FileToUpload.name); let body newContrat.gup(this.auth.getCurrentUser().token); return this.http .post(endpoint, formData, body) .map(() => { return true; }) }
Content-Disposition: form-data; name="fileKey"; filename="file.docx" Content-Type: application/octet-stream <file>
request.files
oderrequest.form
in meinem Kolben-server, es ist inrequest.data
, die ich immer noch Zweifel ob es eine richtige Art zu sendende Datei oder nicht 😕formData.append('uploadFile', file)
- und definiert eine neueHttpHeaders
mitheaders.append('Content-Type', 'multipart/form-data')
und die Datei wird jetzt korrekt übermittelt. Aber wenn ich überprüft es, den content-type erhielt in der server tatsächlichmultipart/octet-stream
. Ist das ein problem?Sehr einfache und Schnellste Methode ist die Verwendung ng2-Datei-upload.
Installieren ng2-Datei-upload via npm.
npm i ng2-file-upload --save
Zuerst importieren Sie das Modul in Ihrem Modul.
Markup:
In Ihrem commponent ts:
It ' is einfachste Nutzung dieser. Zu wissen, alle macht dieses sehen demo
Ich bin mit Eckigen 5.2.11,
Ich mag die Lösung von Gregor Doroschenko, jedoch habe ich gemerkt, dass die hochgeladene Datei hat null Byte, musste ich eine kleine änderung vornehmen, um es für mich zu arbeiten.
Den folgenden Zeilen (formData) hat bei mir nicht funktioniert.
https://github.com/amitrke/ngrke/blob/master/src/app/services/fileupload.service.ts
Ok, da dieser thread erscheint unter den ersten Ergebnissen von google und für andere Benutzer mit der gleichen Frage, die Sie nicht haben, um reivent das Rad, wie bereits von trueboroda es ist die ng2-Datei-upload-Bibliothek, die diesen Prozess vereinfachen des Hochladens einer Datei mit Winkelgetriebe 6 und 7 alles, was Sie tun müssen, ist:
Installieren Sie die neueste Eckige CLI
Dann installieren rx-compat für die Kompatibilität Sorge
Installieren ng2-Datei-upload
Import FileSelectDirective Richtlinie in Ihrem Modul.
In der Komponente
Vorlage
Zum besseren Verständnis können Sie überprüfen Sie diesen link:
Wie Zum Hochladen einer Datei Mit Eckigen 6/7
Versuchen, diese
Installieren
Import
Html
Dieser Art, die ich umsetzen Datei hochladen, um den web-API-Projekt.
Ich teilen, für die Sorge.
Schritt für Schritt
ASP.NET Web-API -
HTML-Formular
TS-Datei API -
Service TS
Komplette Beispiel-Datei hochladen mit Angular und nodejs(express)
HTML-Code
TS-Komponente Code
Node Js code
fileUpload-API-controller
Upload-service verwenden multer