Ich versuche, Datei hochzuladen und einige Daten zur gleichen Zeit zu posten. Der Wert von topicSelected ist ein Java-Objekt-Array. Wenn ich den C# -Controller einchecke, ist der Wert von topicSelected null. Wenn ich den Wert in meinem Service überprüfe, ist alles in Ordnung. Ich denke, dass das Problem ist, dass ich den Anwendungs / JSON-Typ nicht angeben.Post Content-Type undefined und Anwendung/JSON zur gleichen Zeit
setNewVideoRecord = function(file, videoName, videoVersion, topicSelected) {
console.log(topicSelected);
var self = this;
var formData = new FormData();
formData.append('file', file);
formData.append('videoName', videoName);
formData.append('videoVersion', videoVersion);
formData.append('topicSelected', topicSelected);
$http.post(self.baseUrl + "Admin/uploadVideoFile", formData, {
withCredentials: true,
headers: {
'Content-Type': undefined
},
transformRequest: angular.identity
}).then(function onSuccess(response) {
self.fileNameUpload = null;
})
}
IMO, das ist auf jeden Fall keine gute Idee: eine Datei senden und Daten gleichzeitig veröffentlichen. Diese beiden Aktionen sollten in separaten Diensten ausgeführt werden. Einige unerwartete Verhalten können auftreten, z. B. Codierungsprobleme. – lealceldeiro
Sie können die JSON-Zeichenfolge des Arrays anfügen, wie in 'formData.append ('topicSelected', JSON.stringify (topicSelected));' – remdevtec
Das Senden von Dateien als Teil von 'multipart/form-data' wird nicht empfohlen Die [base64-Codierung] (https://en.wikipedia.org/wiki/Base64) fügt 33% zusätzlichen Overhead hinzu. – georgeawg