は、だから私は、私は、クライアント上でそれを得るときの事は、それが異なるサイズと異なるバイト配列である。このバイト配列はC#のWeb APIメソッドと異なりますか?
public byte[] Validate()
{
byte[] buffer = licensePackage.ToByteArray();
return buffer;
}
のようなバイト配列を返すWeb APIを持って、私はGoogleで検索してhttp://www.codeproject.com/Questions/778483/How-to-Get-byte-array-properly-from-an-Web-Api-Metこのリンクが役に立ったと評価してい。
これがなぜ発生するのか分かりますか?また、サーバーからそのファイルの内容を戻す別の方法は何ですか?
Apiが返すコンテンツタイプは何ですか? – jorgonor
配列を取得するクライアントコードを投稿しないので、これは役に立ちません。 Web API *はバイナリデータを送信せず、Base64を使用してエンコードします。サービスコードも...まれです。 [この質問](例えば、http://stackoverflow.com/questions/9541351/returning-binary-file-from-controller-in-asp-net-web-api)では、「StreamResult」を使用してバイナリデータと正しいコンテンツタイプを指定します。 –
バイナリデータは、[BinaryArrayContent](https://msdn.microsoft.com/en-us/library/system.net.http.bytearraycontent(v = versus118).aspx)クラスを使用して直接返すことができます。私はこれを再考したいと思います - ファイルの内容とBLOBを保持するための特別なクラスがあります。オブジェクトは* Json *として返される必要があります。そうしないと、クライアントはバイトをデコードせずにサービスを使用できなくなります。 –