using System; using System.Collections.Generic; using System.Globalization; using System.Linq; using System.Security.Principal; using System.Web; using System.Web.Mvc; using System.Web.Security; using System.Web.UI; using NHibernate; using NHibernate.Linq; using Sleis.Models; using Sleis.Infrastructure; using log4net; using Sleis.Utility; using Sleis.CustomActionResult; namespace Sleis.Controllers { public class FileController : BaseController { public string FileUrls { get; set; } public string Delimiter { get; set; } public string FilePath { get; set; } public override void Init() { base.Init(); ArgumentValidationUtility.ThrowOnNull(FileUrls, "FileUrls"); ArgumentValidationUtility.ThrowOnNull(Delimiter, "Delimiter"); ArgumentValidationUtility.ThrowOnNull(FilePath, "FilePath"); } public ActionResult Download() { string[] files=FileUrls.Split(Delimiter.ToCharArray()); Dictionary steps = new Dictionary(); //for (int i = 0; i < files.Length; i++) //{ // string key = "Step " + (i + 1) + ": "; // steps.Add(key, files[i].Trim()); //} foreach (string name in files) { //use filename as the key string key = name.Substring(name.LastIndexOf("/") + 1); steps.Add(key, name.Trim()); } return View(steps); } public ActionResult DownloadForm(string filePath) { string contentType = filePath.Substring(0,filePath.LastIndexOf("/")); string fileName = filePath.Substring(filePath.LastIndexOf("/")+1); FilePath = FilePath + fileName; Byte[] data = System.IO.File.ReadAllBytes(this.HttpContext.Server.MapPath(FilePath)); return new FileActionResult(fileName, contentType, data); } } }