Мне нужно загрузить файл Cab с URL-адреса в поток.
using (WebClient client = new WebClient())
{
client.Credentials = CredentialCache.DefaultCredentials;
byte[] fileContents = client.DownloadData("http://localhost/sites/hfsc/FormServerTemplates/HfscInspectionForm.xsn");
using (MemoryStream ms = new MemoryStream(fileContents))
{
FormTemplate = formExtractor.ExtractFormTemplateComponent(ms, "template.xml");
}
}
Это довольно просто, однако мой экстрактор кабины (CabLib) выдает исключение, что это недопустимый шкаф.
Ранее я использовал вызов SharePoint для получения потока байтов, и он возвращал 30942 байт. Поток, который я получаю через этот метод, работал правильно с CabLib. Поток, который я получаю с WebClient, возвращает только 28087 байт.
Я заметил, что тип содержимого заголовка ответа возвращается как text / html; кодировка = UTF-8
Я не совсем уверен, почему, но я думаю, что именно это влияет на данные, которые я получаю.