Я пытаюсь загрузить файл, однако я получаю сообщение об ошибке HTTP 502.3, проблема в том, что папка, которую я копирую, слишком большая (300 МБ). Почтовый индекс не завершен. отсюда ошибка
Я тоже устал без ожидания Task.Run: как это:
ZipFile.CreateFromDirectory($"{tempFolder}\\somefolder", $"tempFolder}\\somefolder.zip");
Есть идеи / подсказки?
Спасибо в
public async Task<IActionResult> DownloadFileAsync()
{
string tempFolder = this.hostingEnvironment.WebRootPath + $"\\temp\\";
#region Zip and delete Folder
await Task.Run(() => ZipFile.CreateFromDirectory($"{tempFolder}\\somefolder", $"{tempFolder}\\somefolder.zip")); // zip the big folder
if (Directory.Exists($"{tempFolder}\\somefolder"))
{
try
{
Directory.Delete($"{tempFolder}\\somefolder", true);
}
catch (Exception)
{
throw new Exception($"Failed to delete {$"{tempFolder}\\somefolder"}");
}
}
#endregion Zip and delete Folder
var memory = new MemoryStream();
using (var stream = new FileStream($"{tempFolder}\\somefolder.zip", FileMode.Open))
{
await stream.CopyToAsync(memory);
}
memory.Position = 0;
return File(memory, "application/zip", $"somefolder.zip");
}