2011-11-16 5 views
3

私は(要件として)モバイルアプリケーションのWebサービスとしても使用するASP MVCアプリケーションを持っています。ASP MVCコントローラアクションがバイト[]を受け取ることはできますか?

jsonを返すモバイルアプリで使用されている操作のほとんどをハンドリングするコントローラがありますが、正常に動作します。

しかし、私はどのようにバイト[]として画像のアップロードを処理するか分からない。

コントローラアクションはバイト[]を受信できますか?

私はバイト[]を文字列にエンコードし、それをコントローラのアクションで元に戻すことを考えていました。

は、しかし、私は前後に変換を試みたが、新しいバイト[]は[]

byte[] originalData = ... // picture as byte[] 
string dataString = System.Text.Encoding.Unicode.GetString(data); 
byte[] newData = System.Text.Encoding.Unicode.GetBytes(dataString); 

がbeter方法はあります常に、元バイトと異なっているか、私は先に行くと直接受けるべきです単純なバイト[] ??

+0

だけ知っているので、あなたがコード化するため 'Encoding.Unicode'を使用しないでください/バイナリデータを文字列にデコードすると、BOMが追加される可能性があります。私も同じ問題がありました。次のように独自のエンコーディングを作成する必要があります: 'new UTF8Encoding(false)' ...これはロスレスバイナリのエンコーディングとデコードを提供します。 –

答えて