Ich verwende https://github.com/nervgh/angular-file-upload für Datei-Uploads.AngularJS Datei-Upload sendet veraltete formData
Ich habe ein Formular, das, zusätzlich zum Hochladen einer Datei, einige andere Felder sendet. Aus Gründen der Klarheit, ich sende nur ein Feld in diesem Beispiel:
$scope.save_with_upload = function(user) {
$scope.uploader.formData = [{
name: user.name,
}];
$scope.uploader.uploadAll();
}
Lassen Sie uns sagen, dass der Wert des name
Eingang Test 1.
- Als ich die Seite laden, und klicken Sie Speichern, sendet die Datei aber
formData
überhaupt nicht senden. - Dann ändere ich
name
Feld zu Test 2 und hit Speichern. Es sendet die Datei undformData
, aber der Wert vonname
sendet es Test 1. - Dann ändere ich
name
Feld zu Test 3 und hit Speichern. Es sendet die Datei undformData
, aber der Wert vonname
sendet es Test 2. - ... und so weiter ...
So scheint es immer um die Daten zu senden, die zu formData
vor den letzten Anruf uploadAll
zugewiesen wurden.
Zur Verdeutlichung: Wenn ich dir(user, $scope.uploader.formData)
kurz vor dem Aufruf mache, zeigt es korrekte aktuelle Werte in beiden.
Ich habe seit ein paar Stunden damit zu kämpfen und kann einfach nicht sehen, was los ist. Irgendwelche Ideen?
wohin geht dieser Rückruf? Ich habe es im Controller versucht und es lief nicht. Kannst du es einfach in die Sicht werfen? – bischoffingston
Warum können Sie auch 'item.formData.push (formData)' nicht tun? – bischoffingston
@bischoffingston Dieser Code muss in den Controller gehen. 'uploader' muss eine Instanz von' FileUpload' sein. 'item.formData.push (formData)' und 'Array.prototype.push.apply (item.formData, formData)' sind äquivalent. –