Download Archive Files in Zip
unknown
csharp
4 years ago
1.8 kB
8
Indexable
public ActionResult DownloadMemberRegistrationArchivedCsvFiles()
{
try
{
string achiveFolderPath = Sitecore.IO.FileUtil.MapPath("~/App_Data/logs/Custom/Archieved/");
DirectoryInfo directory = new DirectoryInfo(achiveFolderPath);
if (directory.Exists)
{
string zipPath = $"{achiveFolderPath}member_registration_logs_{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.zip";
var files = directory.GetFiles()?.Select(x => new MemberRegistraionFileModel()
{
FileName = x.Name,
FilePath = x.FullName
});
if (files != null && files.Any())
{
using (var memoryStream = new MemoryStream())
{
using (ZipArchive archive = new ZipArchive(memoryStream, ZipArchiveMode.Create, false))
{
foreach (var file in files)
{
archive.CreateEntryFromFile(file.FilePath, file.FileName);
}
}
return File(memoryStream.ToArray(), "application/zip", $"member_registration_logs_{DateTime.Now.ToString("yyyyMMddHHmmssfff")}.zip");
}
}
}
}
catch (Exception ex)
{
Sitecore.Diagnostics.Log.Error("Error occur while creating member registrion zip archive", ex, typeof(ImporterController));
}
return null;
}Editor is loading...