Nel caso che abbiamo la necessita di effettuare il download di più file, dovremmo comprimerli e poi effettuare in ActionResult effettuare il download.
Qui di seguito il frammento di codice
Spazio dei nomi:
using System.IO;
using System.IO.Compression;
Metodo Action Per il dowload.
[HttpGet]
public ActionResult DownloadMultiFiles(string id)
{
using (var memoryStream = new MemoryStream())
{
using (var ziparchive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
{
var files = GetFiles();
foreach (var mioFile in files )
{
var entry = ziparchive.CreateEntry(mioFile.Nome, CompressionLevel.Fastest);
using (var entryStream = entry.Open())
{
mioFile.FileByteStream.CopyTo(entryStream);
}
}
}
return File(memoryStream.ToArray(), "application/zip", "Attachments.zip");
}
}
Qui di seguito per richiamare la funzione.
window.location.href = '@Url.Action("DownloadMultiFiles", "Doc")
Iscriviti a:
Commenti sul post (Atom)
Nessun commento:
Posta un commento