Skip to content

Commit 070f309

Browse files
Merge v25.1 updates into main (#66)
* Fixed exception caused by concurrent cache access * Print images in image mode instead of PDF. Fixed EnableFileName to hide filenames in the thumbnails pane (fixes #65) * Support for custom file name (fixes #65) * Updated GroupDocs.Viewer for .NET to 25.1.1 (fixes #64) * Updated affected distribution package versions
1 parent 12dc624 commit 070f309

File tree

5 files changed

+34
-24
lines changed

5 files changed

+34
-24
lines changed

build/dependencies.props

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
</PropertyGroup>
1717

1818
<PropertyGroup Label="Package Versions">
19-
<GroupDocsViewer>24.12.0</GroupDocsViewer>
19+
<GroupDocsViewer>25.1.1</GroupDocsViewer>
2020

2121
<MicrosoftExtensionsHttp>8.0.1</MicrosoftExtensionsHttp>
2222
<MicrosoftExtensionsDependencyInjectionAbstractions>8.0.2</MicrosoftExtensionsDependencyInjectionAbstractions>
@@ -35,18 +35,18 @@
3535
</PropertyGroup>
3636

3737
<PropertyGroup Label="GroupDocs.Viewer UI Package Versions">
38-
<GroupDocsViewerUI>8.0.1</GroupDocsViewerUI>
39-
<GroupDocsViewerUIApi>8.0.1</GroupDocsViewerUIApi>
40-
<GroupDocsViewerUIApiLocalCache>8.0.1</GroupDocsViewerUIApiLocalCache>
41-
<GroupDocsViewerUIApiInMemoryCache>8.0.1</GroupDocsViewerUIApiInMemoryCache>
42-
<GroupDocsViewerUIApiLocalStorage>8.0.1</GroupDocsViewerUIApiLocalStorage>
43-
<GroupDocsViewerUIApiCloudStorage>8.0.1</GroupDocsViewerUIApiCloudStorage>
44-
<GroupDocsViewerUIApiAzureStorage>8.0.1</GroupDocsViewerUIApiAzureStorage>
45-
<GroupDocsViewerUIApiAwsS3Storage>8.0.1</GroupDocsViewerUIApiAwsS3Storage>
46-
<GroupDocsViewerUICore>8.0.1</GroupDocsViewerUICore>
47-
<GroupDocsViewerUISelfHostApi>8.0.1</GroupDocsViewerUISelfHostApi>
48-
<GroupDocsViewerUISelfHostApiCrossPlatform>8.0.1</GroupDocsViewerUISelfHostApiCrossPlatform>
49-
<GroupDocsViewerUICloudApi>8.0.1</GroupDocsViewerUICloudApi>
38+
<GroupDocsViewerUI>8.0.2</GroupDocsViewerUI>
39+
<GroupDocsViewerUIApi>8.0.2</GroupDocsViewerUIApi>
40+
<GroupDocsViewerUIApiLocalCache>8.0.2</GroupDocsViewerUIApiLocalCache>
41+
<GroupDocsViewerUIApiInMemoryCache>8.0.2</GroupDocsViewerUIApiInMemoryCache>
42+
<GroupDocsViewerUIApiLocalStorage>8.0.2</GroupDocsViewerUIApiLocalStorage>
43+
<GroupDocsViewerUIApiCloudStorage>8.0.2</GroupDocsViewerUIApiCloudStorage>
44+
<GroupDocsViewerUIApiAzureStorage>8.0.2</GroupDocsViewerUIApiAzureStorage>
45+
<GroupDocsViewerUIApiAwsS3Storage>8.0.2</GroupDocsViewerUIApiAwsS3Storage>
46+
<GroupDocsViewerUICore>8.0.2</GroupDocsViewerUICore>
47+
<GroupDocsViewerUISelfHostApi>8.0.2</GroupDocsViewerUISelfHostApi>
48+
<GroupDocsViewerUISelfHostApiCrossPlatform>8.0.2</GroupDocsViewerUISelfHostApiCrossPlatform>
49+
<GroupDocsViewerUICloudApi>8.0.2</GroupDocsViewerUICloudApi>
5050
</PropertyGroup>
5151

5252
</Project>

src/GroupDocs.Viewer.UI.API/Controllers/ViewerController.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,14 @@ public async Task<IActionResult> ViewData([FromBody] ViewDataRequest request)
109109
var pages = await CreateViewDataPages(file, docInfo, pagesToCreate);
110110

111111
var searchTerm = await _searchTermResolver.ResolveSearchTermAsync(request.File);
112+
var fileName = await _fileNameResolver.ResolveFileNameAsync(request.File);
112113
var response = new ViewDataResponse
113114
{
114115
File = request.File,
115116
FileType = docInfo.FileType,
117+
FileName = string.IsNullOrEmpty(fileName)
118+
? Path.GetFileName(request.File)
119+
: fileName,
116120
CanPrint = docInfo.PrintAllowed,
117121
SearchTerm = searchTerm,
118122
Pages = pages

src/GroupDocs.Viewer.UI.API/Models/ViewDataResponse.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,13 @@ public class ViewDataResponse
1717
[JsonPropertyName("fileType")]
1818
public string FileType { get; set; }
1919

20+
/// <summary>
21+
/// Custom filename.
22+
/// Can be specified through registering `IFileNameResolver` service.
23+
/// </summary>
24+
[JsonPropertyName("fileName")]
25+
public string FileName { get; set; }
26+
2027
/// <summary>
2128
/// Indicates if printing of the document is allowed.
2229
/// </summary>
@@ -25,6 +32,7 @@ public class ViewDataResponse
2532

2633
/// <summary>
2734
/// Search term from back to UI search after load document.
35+
/// Can be specified through registering `ISearchTermResolver` service.
2836
/// </summary>
2937
[JsonPropertyName("searchTerm")]
3038
public string SearchTerm { get; set; }

src/GroupDocs.Viewer.UI.Core/Caching/CachingViewer.cs

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -102,17 +102,15 @@ public async Task<Thumb> GetThumbAsync(FileCredentials fileCredentials, int page
102102
return page;
103103
}
104104

105-
public Task<DocumentInfo> GetDocumentInfoAsync(FileCredentials fileCredentials)
105+
public async Task<DocumentInfo> GetDocumentInfoAsync(FileCredentials fileCredentials)
106106
{
107107
var cacheKey = CacheKeys.FILE_INFO_CACHE_KEY;
108-
return _fileCache.GetValueAsync(cacheKey, fileCredentials.FilePath, async () =>
108+
109+
using (await _asyncLock.LockAsync(fileCredentials.FilePath))
109110
{
110-
using (await _asyncLock.LockAsync(fileCredentials.FilePath))
111-
{
112-
return await _fileCache.GetValueAsync(cacheKey, fileCredentials.FilePath, () =>
111+
return await _fileCache.GetValueAsync(cacheKey, fileCredentials.FilePath, () =>
113112
_viewer.GetDocumentInfoAsync(fileCredentials));
114-
}
115-
});
113+
}
116114
}
117115

118116
public Task<byte[]> GetPdfAsync(FileCredentials fileCredentials)
@@ -173,7 +171,7 @@ private async Task<Pages> CreatePages(FileCredentials fileCredentials, int[] pag
173171
var pages = Combine(pagesOrNulls, createdPages);
174172

175173
return pages;
176-
}
174+
}
177175
}
178176

179177
private async Task<Thumbs> CreateThumbs(FileCredentials fileCredentials, int[] pageNumbers)
@@ -248,7 +246,7 @@ private Task SaveToCache(string filePath, Pages createdPages)
248246
var savePageTask = _fileCache.SetAsync(cacheKey, filePath, page.PageData);
249247
var saveResourcesTask = SaveResourcesAsync(filePath, page.PageNumber, page.Resources);
250248

251-
return new[] {savePageTask, saveResourcesTask};
249+
return new[] { savePageTask, saveResourcesTask };
252250
});
253251

254252
return Task.WhenAll(tasks);
@@ -313,7 +311,7 @@ private List<CachedPage> GetPagesOrNullsFromCache(string filePath, int[] pageNum
313311
new CachedPage(page.pageNumber, _fileCache.TryGetValue<byte[]>(page.cacheKey, filePath)))
314312
.ToList();
315313
}
316-
314+
317315
private List<CachedThumb> GetThumbsOrNullsFromCache(string filePath, int[] pageNumbers)
318316
{
319317
return pageNumbers

src/GroupDocs.Viewer.UI/App/main.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)