Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 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);
 }