Webex サイトに NBR API を使用しようとしています。downloadNBRStorageFile SOAP リクエストを実行すると、ストリーム内の webex 記録で応答します。
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
C# の応答からストリームを取り出してファイルに書き込むと、ストリームとファイルに追加のヘッダー詳細が含まれているため、ネットワーク ベースのレコーディング プレーヤーでファイルを開くことができません。
API からダウンロードしたファイルをメモ帳で調べると、次のようになります。
------=_Part_281_1815085984.1458150816433 コンテンツ タイプ: テキスト/xml; charset=UTF-8 Content-Transfer-Encoding: バイナリ Content-Id: <0CA08FF0D94F4292B948DF640C1DD4E2>
------=_Part_281_1815085984.1458150816433 Content-Type: アプリケーション/オクテット ストリーム Content-Transfer-Encoding: バイナリ Content-Id:
Bob's Personal Room-20160108 1435-1.arf 648735 false ------=_Part_281_1815085984.1458150816433 Content-Type: application/octet-stream Content-Transfer-Encoding: binary Content-Id:
[1] èËæV¬æ d ….ランダムな文字 (.arf ファイル データ)
1)C#でファイルデータだけを保存して、file.arfとして保存すると開くことができるようにするにはどうすればよいですか
WebResponse response = request.GetResponse();
// HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
MemoryStream memoryStream = new MemoryStream();
String test = responseStream.ToString();
int count = 0;
do
{
count = responseStream.Read(buffer, 0, buffer.Length);
memoryStream.Write(buffer, 0, count);
if (count == 0)
{
break;
}
}
while (true);
result = memoryStream.ToArray();
FileStream fs = new FileStream("c:\\file5.arf", FileMode.OpenOrCreate, FileAccess.ReadWrite);
fs.Write(result, 0, result.Length);
fs.Close();
memoryStream.Close();
responseStream.Close();
私はこれに数日間立ち往生しているので、これに関する支援は大歓迎です。実際のファイル データだけを保存するには、マルチパート ストリームを解析する必要があると想定していますが、ここで行き詰まっています。