我正在尝试为我的 webex 站点使用 NBR API。当我运行 downloadNBRStorageFile SOAP 请求时,它会以流中的 webex 录制响应。
WebResponse response = request.GetResponse();
Stream responseStream = response.GetResponseStream();
当我从 C# 中的响应中提取流并将其写入文件时。流和文件包含额外的标头详细信息,导致文件无法在基于网络的录制播放器中打开。
当我在记事本中检查从 API 下载的文件时,它看起来像这样:
------=_Part_281_1815085984.1458150816433 内容类型:文本/xml;charset=UTF-8 内容传输编码:二进制内容 ID:<0CA08FF0D94F4292B948DF640C1DD4E2>
------=_Part_281_1815085984.1458150816433 Content-Type: application/octet-stream Content-Transfer-Encoding: binary 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();
对此的任何帮助将不胜感激,因为我已经坚持了几天。我假设我必须解析多部分流,只保存实际的文件数据,但这就是我所困的地方。