2017-10-26 8 views
1

私のビューに記録されたオーディオBLOBをコントローラに渡そうとしています。以下はこれまで私が行ってきたことです。コントローラにHttpPostedFileBaseを渡す

public class TestAudio 
{ 
    public TestAudio() 
    { 
     UserDetails = new User(); 

    } 
    public HttpPostedFileBase Sample; 
    public User UserDetails; 
} 

public class User 
{ 
    string UserName; 
} 

jQueryの提出は次のよう

//コントローラ

とTestAudioデータがある

$('#send').click(function() { 
     var answer = { 
      sample: recorded, // Where recorded is a variable containing my blob 
      userdetails : null 
     } 

     var data = new FormData(); 
     data.append("data", answer); 
     debugger; 

     $.ajax({ 
      type: 'POST', 
      url: '../home/record', 
      data: data, 
      //contentType: 'application/my-binary-type', // set to whatever you like 
      contentType: false, 
      processData: false 
    }); 
    }); 

を以下のようであるしかし、私のコントローラにNULLとしてデータを取得しています。コントローラのパラメータとしてHttpPostedFileBaseを単独で使用する場合、それは機能します。しかし、TestAudioのような複雑なパラメータを使用している場合は失敗します。

私を導くことができますか?

+0

私は自分自身で答えを見つけることができました。他の人が必要な場合に備えて、ここでそれを共有します。 var data = new FormData(); data.append( "sample"、blob); data.append( "userdetails"、userdetails); 基本的には、別のフォームデータエラメント –

答えて

0

自分で答えが見つかりました。他人が必要とする場合には、ここでそれを共有します。

var data = new FormData(); 
data.append("sample", blob); 
data.append("userdetails", userdetails); 

基本的に別のフォームデータ要素として与えることで終了します。その種のことがやりました。

関連する問題