/* * * (c) Copyright Ascensio System Limited 2010-2018 * * The MIT License (MIT) * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal * in the Software without restriction, including without limitation the rights * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell * copies of the Software, and to permit persons to whom the Software is * furnished to do so, subject to the following conditions: * * The above copyright notice and this permission notice shall be included in all * copies or substantial portions of the Software. * * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE * SOFTWARE. * */ using System; using System.IO; using System.Web; using System.Web.Configuration; using System.Web.UI; using ASC.Api.DocumentConverter; namespace OnlineEditorsExample { public partial class DocEditor : Page { public static string FileName; public static string FileUri { get { return _Default.FileUri(FileName); } } protected string Key { get { return ServiceConverter.GenerateRevisionId(_Default.CurUserHostAddress(null) + "/" + Path.GetFileName(FileUri) + "/" + File.GetLastWriteTime(_Default.StoragePath(FileName, null)).GetHashCode()); } } protected string DocServiceApiUri { get { return WebConfigurationManager.AppSettings["files.docservice.url.api"] ?? string.Empty; } } public static string CallbackUrl { get { var callbackUrl = _Default.Host; callbackUrl.Path = HttpRuntime.AppDomainAppVirtualPath + (HttpRuntime.AppDomainAppVirtualPath.EndsWith("/") ? "" : "/") + "webeditor.ashx"; callbackUrl.Query = "type=track" + "&fileName=" + HttpUtility.UrlEncode(FileName) + "&userAddress=" + HttpUtility.UrlEncode(HttpContext.Current.Request.UserHostAddress); return callbackUrl.ToString(); } } protected void Page_Load(object sender, EventArgs e) { var externalUrl = Request["fileUrl"]; if (!string.IsNullOrEmpty(externalUrl)) { FileName = _Default.DoUpload(externalUrl); } else { FileName = Request["fileID"]; } var type = Request["type"]; if (!string.IsNullOrEmpty(type)) { Try(type); Response.Redirect("doceditor.aspx?fileID=" + HttpUtility.UrlEncode(FileName)); } } private static void Try(string type) { string ext; switch (type) { case "document": ext = ".docx"; break; case "spreadsheet": ext = ".xlsx"; break; case "presentation": ext = ".pptx"; break; default: return; } var demoName = "demo" + ext; FileName = _Default.GetCorrectName(demoName); File.Copy(HttpRuntime.AppDomainAppPath + "app_data/" + demoName, _Default.StoragePath(FileName, null)); } } }