public string GetUrl(string extension, string fileIdentifier, WopiActionEnum action) { // TODO: Consider generating WOPISrc based on routes: // WebAPI2: https://msdn.microsoft.com/en-us/library/system.web.http.routing.urlhelper.link.aspx // MVC: https://msdn.microsoft.com/en-us/library/cc668201.aspx ////Microsoft.AspNet.Mvc.UrlHelper u = new Microsoft.AspNet.Mvc.UrlHelper();u.Link() var template = WopiDiscoverer.GetUrlTemplate(extension, action); if (template != null) { int i = 0; // Resolve optional parameters var url = Regex.Replace(template, @"<(\w*)=\w*&*>", m => ResolveOptionalParameter(m.Groups[1].Value, i++)); url = url.TrimEnd('&'); //TODO: setup preferred ui/data culture (rs,ui) // Append mandatory parameters var fileUrl = WopiHostUrl + "/wopi/files/" + fileIdentifier; url += "&WOPISrc=" + Uri.EscapeDataString(fileUrl); url += "&access_token=" + Uri.EscapeDataString(SecurityHandler.GenerateAccessToken(fileIdentifier)); return(url); } return(null); }
private void InitDiscoverer(string fileName) { _wopiDiscoverer = new WopiDiscoverer(new FileSystemDiscoveryFileProvider(Path.Combine(System.AppContext.BaseDirectory, fileName))); }
private void InitDiscoverer(string fileName, NetZoneEnum netZone = NetZoneEnum.Any) { _wopiDiscoverer = new WopiDiscoverer(new FileSystemDiscoveryFileProvider(Path.Combine(System.AppContext.BaseDirectory, fileName)), netZone); }