From 16a08462482ccb985e8e25611eb8030577b82379 Mon Sep 17 00:00:00 2001 From: Andrey Yumatov Date: Tue, 21 Dec 2021 18:24:02 +0300 Subject: [PATCH] jwt signature for prev.* files C# mvc (via handler) on Net4.8 --- .../csharp-mvc/Helpers/DocManagerHelper.cs | 26 +++++++++++ .../csharp-mvc/Models/FileModel.cs | 2 +- .../csharp-mvc/OnlineEditorsExampleMVC.csproj | 2 +- .../csharp-mvc/Web.config | 5 ++- .../csharp-mvc/WebEditor.ashx.cs | 45 +++++++++++++++++++ 5 files changed, 76 insertions(+), 4 deletions(-) diff --git a/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs b/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs index 07eecf6b..ece7e5c3 100644 --- a/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs +++ b/web/documentserver-example/csharp-mvc/Helpers/DocManagerHelper.cs @@ -87,6 +87,14 @@ namespace OnlineEditorsExampleMVC.Helpers return directory + Path.GetFileName(fileName); } + // get the path to the history file version + public static string HistoryPath(string fileName, string userAddress, string version, string file) + { + var directory = HttpRuntime.AppDomainAppPath + WebConfigurationManager.AppSettings["storage-path"] + CurUserHostAddress(userAddress) + "\\"; + directory = directory + Path.GetFileName(fileName) + "-hist" + "\\" + version + "\\" + file; + return directory; + } + // get the path to the forcesaved file version public static string ForcesavePath(string fileName, string userAddress, Boolean create) { @@ -284,6 +292,24 @@ namespace OnlineEditorsExampleMVC.Helpers return createUrl.ToString(); } + // create the public history url + public static string GetHistoryDownloadUrl(string filename, string version, string file) + { + var downloadUrl = new UriBuilder(GetServerUrl(true)) + { + Path = + HttpRuntime.AppDomainAppVirtualPath + + (HttpRuntime.AppDomainAppVirtualPath.EndsWith("/") ? "" : "/") + + "webeditor.ashx", + Query = "type=downloadhistory" + + "&fileName=" + HttpUtility.UrlEncode(filename) + + "&ver=" + version + + "&file="+ file + + "&userAddress=" + HttpUtility.UrlEncode(HttpContext.Current.Request.UserHostAddress) + }; + return downloadUrl.ToString(); + } + // get url to download a file public static string GetDownloadUrl(string fileName) { diff --git a/web/documentserver-example/csharp-mvc/Models/FileModel.cs b/web/documentserver-example/csharp-mvc/Models/FileModel.cs index b89ecee1..5c494cd6 100644 --- a/web/documentserver-example/csharp-mvc/Models/FileModel.cs +++ b/web/documentserver-example/csharp-mvc/Models/FileModel.cs @@ -256,7 +256,7 @@ namespace OnlineEditorsExampleMVC.Models dataObj.Add("fileType", ext.Replace(".", "")); dataObj.Add("key", key); // write file url to the data object - dataObj.Add("url", i == currentVersion ? FileUri : DocManagerHelper.GetPathUri(Directory.GetFiles(verDir, "prev.*")[0].Substring(HttpRuntime.AppDomainAppPath.Length))); + dataObj.Add("url", i == currentVersion ? FileUri : DocManagerHelper.GetHistoryDownloadUrl(FileName,i.ToString(),"prev"+ext)); dataObj.Add("version", i); if (i > 1) // check if the version number is greater than 1 (the file was modified) { diff --git a/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj b/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj index cc4955f8..43694b0d 100644 --- a/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj +++ b/web/documentserver-example/csharp-mvc/OnlineEditorsExampleMVC.csproj @@ -13,7 +13,7 @@ Properties OnlineEditorsExampleMVC OnlineEditorsExampleMVC - v4.5 + v4.8 false true diff --git a/web/documentserver-example/csharp-mvc/Web.config b/web/documentserver-example/csharp-mvc/Web.config index 7584e1ee..5be85088 100644 --- a/web/documentserver-example/csharp-mvc/Web.config +++ b/web/documentserver-example/csharp-mvc/Web.config @@ -1,4 +1,4 @@ - +