public async Task GetSetupZip(string siteId) { var path = Request.MapPath("/Files/"); var ApiUrl = string.Format("{0}://{1}/", Request.Url.Scheme, Request.Url.Authority); var site = await RemoteSiteUtil.GetSite(siteId); var filename = string.Format("{0}_setup.zip", site.OnPremDomainName.Replace(".", "_")); var zip = ZipCopy.SetupZip(path, site, ApiUrl); Response.Clear(); Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); Response.AddHeader("Content-Length", zip.Length.ToString()); Response.ContentType = "application/octet-stream"; Response.BinaryWrite(zip.ToArray()); }
public async Task <HttpResponseMessage> GetSiteServiceZip() { var siteId = User.Identity.GetClaim(CustomClaimTypes.SiteId); var pathToFiles = System.Web.Hosting.HostingEnvironment.MapPath("/Files/"); var apiUrl = string.Format("{0}://{1}/", Request.RequestUri.Scheme, Request.RequestUri.Authority); var zip = await ZipCopy.GetSetupZip(siteId, pathToFiles, apiUrl); var result = Request.CreateResponse(HttpStatusCode.OK); result.Content = new ByteArrayContent(zip.ToArray()); result.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment"); var siteName = User.Identity.GetClaim(CustomClaimTypes.OnPremDomainName); var filename = string.Format("{0}_setup.zip", siteName.Replace(".", "_")); result.Content.Headers.ContentDisposition.FileName = filename; return(result); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); GlobalConfiguration.Configure(WebApiConfig.Register); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); AntiForgeryConfig.UniqueClaimTypeIdentifier = "http://schemas.microsoft.com/identity/claims/objectidentifier"; try { DocDBRepo.Settings.DocDBUri = ConfigurationManager.AppSettings["DocDBUri"]; DocDBRepo.Settings.DocDBAuthKey = ConfigurationManager.AppSettings["DocDBAuthKey"]; DocDBRepo.Settings.DocDBName = ConfigurationManager.AppSettings["DocDBName"]; Settings.StorageConnectionString = ConfigurationManager.AppSettings["StorageConnectionString"]; Settings.STSApiKey = ConfigurationManager.AppSettings["STSApiKey"]; Settings.AdminSiteUrl = ConfigurationManager.AppSettings["AdminSiteUrl"]; Settings.AdminApiKey = ConfigurationManager.AppSettings["AdminApiKey"]; Settings.ClientId = ConfigurationManager.AppSettings["ida:ClientId"]; Settings.ClientSecret = ConfigurationManager.AppSettings["ida:ClientSecret"]; Settings.TenantId = ConfigurationManager.AppSettings["ida:TenantId"]; //Zip init ZipCopy.InitZip(Settings.AppRootPath); Settings.CurrSiteScriptVersion = ZipCopy.GetCurrSiteVersion(Path.Combine(Settings.AppRootPath, "Files")); var client = DocDBRepo.Initialize().Result; } catch (Exception ex) { Logging.WriteToAppLog("Error during site initialization", System.Diagnostics.EventLogEntryType.Error, ex); throw; } }