Kann angular2 mehrteilige Formulare senden, jedes verfügbare Beispiel?Wie lade ich Dateien hoch (multipart) mit angularjs2
Jeder Link zu docs spezifisch für diesen sehr geschätzt
Siehe Beitrag von Winkeln Github https://github.com/angular/angular/issues/6030
**** Aktualisierte später mit Working Demo mit XMLHttpRequest ****
Jedes Beispiel präsentiert Senden FormData
als Teil von http
,
Unten ist ein Entwurf Code, der für mich gut funktioniert, aber gerne wissen, ob die gleiche unterstützt in http
HTML
<input id="single_f_fileup" [(ngModel)]="model.image" type="file" (change)="selectFile($event)" name="single_fileup" />
ANGULAR2
selectFile($event): void {
var files = $event.target.files || $event.srcElement.files;
var file = files[0];
let formData = new FormData();
formData.append("single_fileup", file);
formData.append('key1', 'value1');
formData.append('key2', 'value2');
var req = new XMLHttpRequest();
req.open("POST", "/api/fileupload");
req.send(formData);
}
NodeJS 6,2
var multer = require('multer');
var storage = multer.memoryStorage();
var upload = multer({ storage: storage });
router.post('/api/fileupload', upload.single('single_fileup'), function(req, res, next){
console.log(req.body,req.file);
});
Wie unten Code funktioniert?
this.http.post('/api/fileupload', formData)
.map(this.extractData)
.catch(this.handleError);
Gute Antwort, die meisten Antworten, die ich gesehen habe, verwenden Javascript nicht eckig. Könnte ich vorschlagen, kritischen Code in Ihre Antwort hinzuzufügen, damit die Antwort relevant bleibt, wenn die Links unterbrochen werden. – dewwwald