Ich habe ein Upload-Datei-Steuerelement, das die Dateidaten auf einen MVC-Controller hochlädt. Ich möchte auch zusätzliche Upload Details Modellobjekt in der gleichen Anfrage senden.Senden von mehrteiligen Formular- und JSON-Daten von Angular JS an MVC
Aber für Datei - Upload der Anfrage Inhaltstyp undefined funktioniert für mich. Damit der MVC-Controller die Modelldaten effektiv empfangen kann, muss er application/json lauten. Wie würde ich das in einer einzigen Anfrage tun?
Oder gibt es einen anderen Ansatz, dem ich folgen kann? Bitte vorschlagen. Damit der Upload abgeschlossen werden kann, müssen beide Daten an den Server gesendet werden.
ich tue, ist
var formdata;
$scope.getTheFiles = function ($files) {
formdata = new FormData();
angular.forEach($files, function (value, key) {
formdata.append(key, value);
});
und
$scope.validateFiles = function() {
var params = UploadDataServices.getGroupMembershipUploadParams();
$scope.pleaseWait = { "display": "block" };
var request = {
method: 'POST',
url: BasePath + 'uploadNative/ValidateFiles/',
data: formdata,
headers: {
'Content-Type': undefined
}
};
// SEND THE FILES.
console.log(formdata);
if (formdata != null || formdata != undefined) {
$http(request)
Und in der MVC-Controller ich die Datei-Daten erhalten, wie
System.Web.HttpFileCollection hfc = System.Web.HttpContext.Current.Request.Files;
Jetzt ich, dass params senden möchten auch in der Anfrage, die ich über
bekommen habevar params = UploadDataServices.getGroupMembershipUploadParams();
Wie würde ich das tun? Ich versuchte es zu tun
var request = {
method: 'POST',
url: BasePath + 'uploadNative/ValidateFiles/',
data: {formdata:formdata,arg:params},
headers: {
'Content-Type': undefined
}
};
Aber ich konnte nicht auf die Datei zugreifen.
Bitte schlagen Sie einen Weg vor.
Vielen Dank im Voraus.
Könnten Sie bitte ein wenig erklären? Wohin schickst du beide Params? Bitte erläutern Sie die Antwort. Vielen Dank . – StrugglingCoder
Konnten Sie es bekommen, in Ihrem Fall, ich denke, Ihr Modell wäre öffentliche Klasse GroupMembershipModel { public int Id {get; einstellen; } public string Name {get; einstellen; } öffentliche Liste Dateien {get; einstellen; } } versuchen Sie, alle Daten im selben Formdata-Objekt zu senden, vielleicht sollten Sie die Dateien an Formdata als Array anfügen. –