0

Heres, was ich bisher in meinem Controller habenUpload Image-Datei net Kern 2 Controller mit Apache cordova Plugin File-Transfer Punkt

 [HttpPost] 
     [Route("addexpenses")] 
     public ActionResult AddExpenses(IFormFile _expenses) 
     { 
      Expenses expensesAhYeah = new Expenses(); 
      expensesAhYeah.UserId = Convert.ToInt32(_expenses["UserId"].ToString()); 
      expensesAhYeah.ExpenseType = Convert.ToInt32(_expenses["ExpenseType"].ToString()); 
      expensesAhYeah.ExpenseAmount = Convert.ToInt32(_expenses["ExpenseAmount"].ToString()); 
      expensesAhYeah.ExpenseDesc = _expenses["ExpenseDesc"].ToString(); 
      expensesAhYeah.ExpenseDate = Convert.ToDateTime(_expenses["ExpenseDate"].ToString()); 
      if (ModelState.IsValid) uRepo.AddNewExpense(expensesAhYeah); 
      return Ok("ok"); 
     } 

und für meine Apache cordova App

function saveExpenseReport() { 
    var uctxt = JSON.parse(localStorage.getItem('ucontext')); 
    var Expenses = JSON.stringify({ 
     'UserId': uctxt.idEmployee, 
     'ExpenseType': $('#selExpenseType').val(), 
     'ExpenseAmount': $('#expenseAmount').val(), 
     'ExpenseDesc': $('#expenseReason').val(), 
     'ExpenseDate': $('#expenseDate').val() 
    }); 
    var fileURL = imgLoc; 
    var options = new FileUploadOptions(); 
    options.fileKey = "file"; 
    options.fileName = "thisfilenamewew.jpg"; 
    options.mimeType = "image/jpeg"; 
    options.chunkedMode = false; 
    setLoading('show'); 
    options.params = Expenses; 
    var ft = new FileTransfer(); 
    var encURI = encodeURI(apicall + "tjb/addexpenses"); 
    ft.upload(fileURL, encURI, win, fail, options);} 

I Code vs2017 und dotnet core2, also debugge ich das webapi2 und habe einen Haltepunkt beim Start des Controllers. Warum ist meine _expenses null?

Irgendwelche Ideen?

+0

Haben Sie versucht Konsole die Werte aus den JSON-Daten zu schreiben, die Sie bevölkern? '$ ('# selExpenseType'). val()' auch 'document.getElementById (" selExpenseType "). value;' ist schneller. Das Debugging sollte jedoch aus dem Echo und der Verwendung der Konsole bestehen. – EasyBB

+0

Hallo @EasyBB Ich tat, es ist in Ordnung, das ist nicht meine Sorge im Moment. Vor der Zeile "ft.upload" beobachte ich den Wert für "Ausgaben" und ich habe die korrekten Werte erhalten. Die '_ Ausgaben 'in der Steuerung ist null, was mein Problem ist. – superthomas

+0

Nun, von dem Aussehen aus, Sie übergeben alle Optionen an den Controller und Ihre Ausgaben würden unter Ausgaben. Optionen. Und müssten Sie diese Zeichenfolge nicht in json im Controller konvertieren. Hast du die Ausgaben wiederholt, bevor du irgendetwas damit gemacht hast? Nur versuchen, dies programmatisch für Sie zusammenzusetzen – EasyBB

Antwort

-1

Ich glaube, ich hatte ähnliche Probleme. Versuchen Sie es mit Request.Form.Files und sehen, ob das hilft.

+0

Ähnliche Diskussionen sollten in den Kommentaren platziert werden. Wenn Ihre Lösung dann hilft, können Sie sie zu den Antworten "bewegen". –

Verwandte Themen