Потоковый файл в службе приложений Azure потерял байты - PullRequest
0 голосов
/ 14 мая 2018

У меня очень необычная проблема при попытке потокового файла с ядром ASP.NET и полной структурой ASP.NET.

Я пробовал разные примеры кода, которые работают в моей локальной среде и вмой локальный IIS 7. Однако эти примеры кода при выполнении в службе приложений не работают.Невозможно скачать полный файл.При каждом выполнении мои файлы теряют несколько байтов, что приводит к повреждению файлов (при загрузке).

Поскольку я пробовал несколько примеров кода, здесь не приводятся фрагменты кода. Примеры кода были взяты изили stackoverflow или официальная документация.

1 Ответ

0 голосов
/ 15 мая 2018

В основном мой код имеет это:

try
{
     WebRequest req = WebRequest.Create("[URL here]");
     WebResponse response = req.GetResponse();
     Stream stream = response.GetResponseStream();
     //...
}
catch (Exception)
{
     MessageBox.Show("There was a problem downloading the file");
}

Контроллер

 [HttpPost("Document")]
 [Produces("application/octet-stream")]
 [AllowAnonymous]
 public async Task<IActionResult> Download([FromBody]DownloadDmsRequest data)
 {

Если я получу поток в MemoryStream, мой файл загрузится полностью. Я выполнил тест загрузки файла в память и после загрузки этого файла в хранилище BLOB-объектов, и файл успешно загрузился без проблем.

...