public async Task <JsonResult> DownloadAsync(string id) { try { BuildersCapitalDataProvider BuildersCapitalDataProvider = new BuildersCapitalDataProvider(); Document foundDocument = BuildersCapitalDataProvider.RetrieveDocuments().ToList().Find(x => x.Id == new Guid(id)); ZipProvider ZipProvider = new ZipProvider(); string path = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.UserProfile), "Downloads/" + id + ".zip"); await ZipProvider.DownloadZipFile(path, foundDocument.DocBlob); var result = new { error = 0, data = path, message = "" }; return(await Task.FromResult(Json(result, JsonRequestBehavior.AllowGet))); } catch (Exception ex) { var result = new { error = 1, data = "", message = ex.Message }; return(await Task.FromResult(Json(result, JsonRequestBehavior.AllowGet))); } }
public JsonResult Download(string id) { try { BuildersCapitalDataProvider BuildersCapitalDataProvider = new BuildersCapitalDataProvider(); Document foundDocument = BuildersCapitalDataProvider.RetrieveDocuments().ToList().Find(x => x.Id == new Guid(id)); ZipProvider ZipProvider = new ZipProvider(); string fileName = $"{id}.zip"; string folderName = "/Output/"; string serverPath = Path.Combine(Server.MapPath("~" + folderName), fileName); ZipProvider.WriteByteArrayToFile(serverPath, foundDocument.DocBlob); var result = new { error = 0, data = folderName + fileName, message = "" }; return(Json(result, JsonRequestBehavior.AllowGet)); } catch (Exception ex) { var result = new { error = 1, data = "", message = ex.Message }; return(Json(result, JsonRequestBehavior.AllowGet)); } }