Возможно использование MemoryStream с FileStreamResult?
Я использую DotNetZip для создания zip-файла и передачи его в FileResult. При отладке я могу убедиться, что MemoryStream содержит файл, но когда я запускаю его через FileStreamResult, он возвращает 0 байтов:
public FileResult GetZipFiles(int documentId) {
var file = fileRepository.Get(documentId);
var zip = new ZipFile();
var stream = new MemoryStream();
var filePath = Path.Combine(UploadsFolder, Path.GetFileName(file.Id));
zip.AddFile(filePath);
zip.Save(stream);
var result = new FileStreamResult(stream, "application/zip")
{ FileDownloadName = "hey.zip" };
return result;
}
Опять же, я могу проверить, что поток не пустой, но это всегда будет возвращать файлhey.zip
как 0 байтов. Я должен использоватьMemoryStream
здесь не так? Или жеFileStreamResult
что-то, чего я не ожидаю? Я использовалFileStreamResult
раньше, но не сMemoryStream
.