Verwenden eines MemoryStreams mit FileStreamResult möglich?
Ich verwende DotNetZip, um eine Zip-Datei zu erstellen und an ein FileResult zu übergeben. Beim Debuggen kann ich überprüfen, ob der MemoryStream eine Datei enthält. Wenn ich sie jedoch über FileStreamResult ausführe, werden 0 Byte zurückgegeben:
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;
}
Again, ich kann überprüfen, ob der Stream nicht leer ist, aber dies gibt immer die Datei @ zurüchey.zip
als 0 Byte. Ich muss @ verwendMemoryStream
hier falsch? OderFileStreamResult
tut etwas, was ich nicht erwarte? Ich habe @ verwendFileStreamResult
vorher, aber nicht mitMemoryStream
.