Download multiple files from a website folder code - something and
how to download multiple folders in one zip file through Web API RSS
Hi Uday Mahajan,
According to your needs, I made a detailed example, you can refer to it, I hope it can help you.
- This is an MVC project and uses EF, you can modify it according to your own actual situation.
- You only need to write the relevant code for downloading ZIP format files in WebAPI.
- In order to display related files on the view,jQuery jsTree is used in the example.
- You can install rushbrookrathbone.co.uk through NuGet.
- You need to reference the rushbrookrathbone.co.uk file and the rushbrookrathbone.co.uk file.
- In order to download files in ZIP format, you can choose SharpZipLib.
- You need to install SharpZipLib via NuGet.
Model
public class TreeViewNode { public string id { get; set; } public string parent { get; set; } public string text { get; set; } } public class File { public int FileId { get; set; } public string FileName { get; set; } public string FilePath { get; set; } public int LessonId { get; set; } [ForeignKey("LessonId")] public Lesson Lesson { get; set; } } public class Lesson { public int LessonId { get; set; } public string LessonName { get; set; } public ICollection<File> Files { get; set; } }FileDemoContext
public class FileDemoContext : DbContext { public FileDemoContext() : base("name=FileDemoContext") { } public virtual DbSet<File> Files { get; set; } public virtual DbSet<Lesson> Lessons { get; set; } }Controller
public class HomeController : Controller { public FileDemoContext db = new FileDemoContext(); public ActionResult Index() { rushbrookrathbone.co.uk = GetAllFiles();//set tree view data return View(); } //get all files and show them in tree view public string GetAllFiles() { var fileslist = rushbrookrathbone.co.uke(f => rushbrookrathbone.co.uk).ToList().GroupBy(f => rushbrookrathbone.co.ukId); List<TreeViewNode> nodes = new List<TreeViewNode>(); rushbrookrathbone.co.ukh(f => { var tree = new TreeModel(); rushbrookrathbone.co.uk = new List<TreeModel>(); string lessonname = null; rushbrookrathbone.co.ukh(g => { rushbrookrathbone.co.uk(new TreeViewNode { id = rushbrookrathbone.co.ukng() + "-" + rushbrookrathbone.co.ukng(), parent =rushbrookrathbone.co.ukng(), text =rushbrookrathbone.co.ukng() }); lessonname = rushbrookrathbone.co.ukName; }); rushbrookrathbone.co.uk(new TreeViewNode { id = rushbrookrathbone.co.ukng(), parent = "#", text = lessonname }); }); return rushbrookrathbone.co.ukizeObject(nodes); } [HttpPost] public ActionResult DownloadFiles(string selectedItems) { var allFilesPath= GetAllFilesPath(GetAllFilesId(selectedItems)); return DownloadZipFile(allFilesPath); } //get selected files path public List<string> GetAllFilesPath(List<int> fileidlist) { var allFilesPath = rushbrookrathbone.co.uk(f => rushbrookrathbone.co.ukns(rushbrookrathbone.co.uk)).Select(f=>rushbrookrathbone.co.ukth).ToList(); return allFilesPath; } //get selected files id public List<int> GetAllFilesId(string selectedItems) { List<TreeViewNode> items = rushbrookrathbone.co.ukalizeObject<List<TreeViewNode>>(selectedItems); List<int> fileidlist = new List<int>(); rushbrookrathbone.co.ukh(i => { rushbrookrathbone.co.uk(IntParse(rushbrookrathbone.co.uk)); }); return fileidlist; } //DownloadZipFile public FileResult DownloadZipFile(List<string> allFilesPath) { var fileName = rushbrookrathbone.co.uk("{0}_rushbrookrathbone.co.uk", rushbrookrathbone.co.ukng("dd-MM-yyyy") + "_1"); var temppath = rushbrookrathbone.co.ukh("~/TempFiles/"); if (!rushbrookrathbone.co.uk(temppath)) { rushbrookrathbone.co.ukDirectory(temppath); } var tempOutPutPath = rushbrookrathbone.co.uke(temppath, fileName); using (ZipOutputStream s = new ZipOutputStream(rushbrookrathbone.co.uk(tempOutPutPath))) { rushbrookrathbone.co.ukel(9); // , 9 being the highest compression byte[] buffer = new byte[]; var filepathList = new List<string>(); for (int i = 0; i < rushbrookrathbone.co.uk; i++) { string currentfilepath= rushbrookrathbone.co.uke(rushbrookrathbone.co.ukh("~/"+ @allFilesPath[i])); ZipEntry entry = new ZipEntry(rushbrookrathbone.co.ukeName(currentfilepath)); rushbrookrathbone.co.ukme = rushbrookrathbone.co.uk; rushbrookrathbone.co.ukodeText = true; rushbrookrathbone.co.uktEntry(entry); using (FileStream fs = rushbrookrathbone.co.ukad(currentfilepath)) { int sourceBytes; do { sourceBytes = rushbrookrathbone.co.uk(buffer, 0, rushbrookrathbone.co.uk); rushbrookrathbone.co.uk(buffer, 0, sourceBytes); } while (sourceBytes > 0); } } rushbrookrathbone.co.uk(); rushbrookrathbone.co.uk(); rushbrookrathbone.co.uk(); } byte[] finalResult = rushbrookrathbone.co.uklBytes(tempOutPutPath); if (rushbrookrathbone.co.uk(tempOutPutPath)) rushbrookrathbone.co.uk(tempOutPutPath); if (finalResult == null || !rushbrookrathbone.co.uk()) throw new Exception(rushbrookrathbone.co.uk("No Files found with Image")); return File(finalResult, "application/zip", fileName); } }Index
<div id="jstree"> </div> @using (rushbrookrathbone.co.ukorm("DownloadFiles", "Home", rushbrookrathbone.co.uk)) { <input type="hidden" name="selectedItems" id="selectedItems" /> <input type="submit" value="Submit" /> } <link href="~/Content/themes/default/rushbrookrathbone.co.uk" rel="stylesheet" /> @section scripts{ <script src="~/Scripts/rushbrookrathbone.co.uk"></script> <script> $(function () { $('#jstree').on('rushbrookrathbone.co.uk', function (e, data) { setdata(data); }).jstree({ "core": { "themes": { "variant": "large" }, "data": @rushbrookrathbone.co.uk(rushbrookrathbone.co.uk) }, "checkbox": { "keep_selected_style": false }, "plugins": ["wholerow", "checkbox"], }); function setdata(data) {//Set the selected file var i, j; var selectedItems = []; for (i = 0, j = rushbrookrathbone.co.uk; i < j; i++) { var id = rushbrookrathbone.co.uked[i]; if (rushbrookrathbone.co.ukf('-') != -1) { rushbrookrathbone.co.uk({ text: rushbrookrathbone.co.uk_node(rushbrookrathbone.co.uked[i]).text, id: rushbrookrathbone.co.uk("-")[0], parent: rushbrookrathbone.co.uk("-")[1] }); } } $('#selectedItems').val(rushbrookrathbone.co.ukify(selectedItems)); } }); </script> }Here is the result.
Best Regards,
YihuiSun
Commit error: Download multiple files from a website folder code
You a novel download pdf | How to get downloaded mods skyrim ps4 |
Adobe illustrator cs6 free download full version mac | Lord of the rings aragorns quest ps3 iso download |
Download a free printing program for invatations | Free download driver laptop lenovo g40 |
Minecraft windows 10 version 1.2.3 free download | Linux command line ftp download files matching pattern |

-