0

相続人は、私は私のコントローラアップロード画像ファイルは、Apache Cordovaのプラグインのファイル転送を使用して、ネットコア2のコントローラをドットに

 [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"); 
     } 

にして使用して私のApacheのコルドバアプリ

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コードのために、これまで持っていますvs2017とdotnet core2のため、webapi2をデバッグし、コントローラの先頭にブレークポイントを設定します。 _expensesはなぜnullですか?

すべてのアイデア?

+0

あなたは投入しているjsonデータから値を書き出しましたか? '$( '#selExpenseType')。val()'また 'document.getElementById(" selExpenseType ")。value;'はより速いです。デバッグはコンソールをエコーし​​て使用する必要があります。 – EasyBB

+0

こんにちは@EasyBB私は、その罰金、それは今私の懸念ではありませんでした。 'ft.upload'行の前に' Expenses'の値を見て、正しい値を得ました。コントローラの '_expenses'は私の問題であるnullです。 – superthomas

+0

それはあなたのすべてのオプションをコントローラに渡しているので、あなたの経費はexpenses.optionsになります。そして、その文字列をコントローラーのjsonに変換する必要はありません。あなたは何かをする前に_expensesをエコーし​​ましたか?ちょうどあなたのためにプログラムで一緒にこれを作成しようとしている – EasyBB

答えて

-1

私は同様の問題があったと思います。 Request.Form.Filesを試してみてください。

+0

同様の議論がコメントに置かれるべきです。次に、ソリューションが役立つ場合は、答えに「移動」することができます。 –

関連する問題