2017-09-05 2 views
0

JAVAでC#webapiを使用しています。 APIメソッドはファイルバイトの配列を返します。私はJavaでバイト配列の応答を読み取ることができますが、私はそれをファイルに変換しようとすると、完全な文字列をファイルに書き込みます。api httpresponse bytearrayをファイルに変換する

以下
HttpResponse response=... 
byte[] content = EntityUtils.toByteArray(response.getEntity()); 
File fileToWriteTo = new File("abc.docx"); 
FileUtils.writeByteArrayToFile(fileToWriteTo, content); 

生成されたファイルのスクリーンショットです: Fiddler response screenshot

答えて

0

たContent: 以下DOCX file screenshot

はシオマネキ応答スクリーンショットですが以下

は、私が使用していたコードですタイプ:application/json

C#APIによって送信されるこのコンテンツ/タイプは、少し疑わしいです。

このエンドポイントは、バイト配列を返すことになっている場合は、あなたのような何かを受け取る必要があります。

のContent-Type:アプリケーション/ octet-streamの

をそれでは、ここで起こっていることはあなたですバイト配列は、あなたのJavaプログラムによってテキストファイルとして書き込まれるJSON文字列(あなたのバイトを囲む引用符に気づかれますか?)として送信されます。

C#エンドポイントを正しいコンテンツタイプに送信するように修正することをおすすめします。

アクセスできない場合は、JSONストリングを解析し、バイト配列のバイトストリングをデコードしてファイルに書き込むことができます。

+0

ご返信ありがとうございます。あなたの提案は私のために働く。 –

関連する問題