この APIを使用しようとしています。これは、異なる形式間でファイルを変換します。要求の一部として、バイナリ形式のファイルが必要です。C#に関しては、それが何を意味するのかを正確に理解しようとしています。私が読んだものはすべて、バイト配列の使用を指していますが、これまでのところ機能していません。
基本的に、ドキュメントをバイナリに変換し、その生データを使用して、実際の POST 要求の送信を担当するシステムの別の部分にプラグインする必要があります。
API をよりよく理解するために、エンドポイントをテストし、リクエスト ペイロードを確認しました。Chrome は、File フィールドの一部として送信された生データを表示しません。
Fiddler はそうしますが、意味不明です (おそらくバイトを ASCII として解釈しようとするため):
だから私は少し混乱しています。リクエスト ペイロードのフォーム データ オブジェクトのために、C# にあるファイルに対して何をする必要がありますか? 私はこれを試しました(そのシステムのAPIを使用して別のシステムからファイルにアクセスしています):
DocumentInfo di = this.BoundEntryInfo as DocumentInfo;
string contentType = "application/msword";
string binaryValue;
using (DocstarReadStream filestream = di.ReadDoc(out contentType)) //open a stream to the word document in the other system
{
using (MemoryStream mstream = new MemoryStream())
{
filestream.CopyTo(mstream);
binaryValue = string.Join("", mstream.ToArray());
}
}
結果のbinaryValue
文字列は次のような値になります。
...
ただし、これを POST 要求ペイロードの File フィールドの値として使用すると、Bad Request エラーが発生します (「変換エラー」と表示されるため、データの形式が何らかの形で間違っていると想定しています)。