¿Es posible usar un MemoryStream con FileStreamResult?
Estoy usando DotNetZip para crear un archivo zip y pasarlo a un FileResult. En la depuración, puedo verificar que MemoryStream contiene un archivo, pero cuando lo ejecuto a través de FileStreamResult, devuelve 0bytes:
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;
}
De nuevo, puedo verificar que la secuencia no esté vacía, pero esto siempre devolverá el archivohey.zip
como 0bytes. Debo estar usandoMemoryStream
mal aquí? OFileStreamResult
hace algo que no espero que haga? he usadoFileStreamResult
antes, pero no conMemoryStream
.