From e3fc7c0ad1227c4baf568eb323de2a26bddebc43 Mon Sep 17 00:00:00 2001 From: Leigh Pointer Date: Thu, 18 Feb 2021 08:38:53 +0100 Subject: [PATCH 1/5] #1120 Fix forUpload SVG throw error --- Oqtane.Server/Controllers/FileController.cs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/Oqtane.Server/Controllers/FileController.cs b/Oqtane.Server/Controllers/FileController.cs index ce36dae2..9e8b3d35 100644 --- a/Oqtane.Server/Controllers/FileController.cs +++ b/Oqtane.Server/Controllers/FileController.cs @@ -538,10 +538,15 @@ namespace Oqtane.Controllers if (Constants.ImageFiles.Split(',').Contains(file.Extension.ToLower())) { FileStream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read); - using (var image = Image.FromStream(stream)) - { - file.ImageHeight = image.Height; - file.ImageWidth = image.Width; + + //svg has no image and height, the attributes for svg are held in the XML viewport + if(file.Extension != "svg") + { + using (var image = Image.FromStream(stream)) + { + file.ImageHeight = image.Height; + file.ImageWidth = image.Width; + } } stream.Close(); From 45974a9c8038d4ebc96536548db2e6e28b225829 Mon Sep 17 00:00:00 2001 From: Leigh Pointer Date: Thu, 18 Feb 2021 08:48:33 +0100 Subject: [PATCH 2/5] Update FileController.cs --- Oqtane.Server/Controllers/FileController.cs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/Oqtane.Server/Controllers/FileController.cs b/Oqtane.Server/Controllers/FileController.cs index 9e8b3d35..07a85f20 100644 --- a/Oqtane.Server/Controllers/FileController.cs +++ b/Oqtane.Server/Controllers/FileController.cs @@ -535,13 +535,12 @@ namespace Oqtane.Controllers file.ImageHeight = 0; file.ImageWidth = 0; - if (Constants.ImageFiles.Split(',').Contains(file.Extension.ToLower())) - { - FileStream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read); - - //svg has no image and height, the attributes for svg are held in the XML viewport - if(file.Extension != "svg") - { + //svg has no image and height, the attributes for svg are held in the XML viewport + if(file.Extension != "svg") + { + if (Constants.ImageFiles.Split(',').Contains(file.Extension.ToLower())) + { + FileStream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read); using (var image = Image.FromStream(stream)) { file.ImageHeight = image.Height; From 59ba4b2e05e8abf6e9a443047ba3571029ed0cb5 Mon Sep 17 00:00:00 2001 From: Leigh Pointer Date: Thu, 18 Feb 2021 08:51:05 +0100 Subject: [PATCH 3/5] doesnt need to open the stream if svg --- Oqtane.Server/Controllers/FileController.cs | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/Oqtane.Server/Controllers/FileController.cs b/Oqtane.Server/Controllers/FileController.cs index 9e8b3d35..04ff4f62 100644 --- a/Oqtane.Server/Controllers/FileController.cs +++ b/Oqtane.Server/Controllers/FileController.cs @@ -535,21 +535,20 @@ namespace Oqtane.Controllers file.ImageHeight = 0; file.ImageWidth = 0; - if (Constants.ImageFiles.Split(',').Contains(file.Extension.ToLower())) + //svg has no image and height, the attributes for svg are held in the XML viewport + if(file.Extension != "svg") { - FileStream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read); - - //svg has no image and height, the attributes for svg are held in the XML viewport - if(file.Extension != "svg") - { + if (Constants.ImageFiles.Split(',').Contains(file.Extension.ToLower())) + { + FileStream stream = new FileStream(filepath, FileMode.Open, FileAccess.Read); + using (var image = Image.FromStream(stream)) { file.ImageHeight = image.Height; file.ImageWidth = image.Width; } + stream.Close(); } - - stream.Close(); } return file; From 1aae8a137359b7fdc74f8a6b9c0b667dca4dafc0 Mon Sep 17 00:00:00 2001 From: Leigh Pointer Date: Thu, 18 Feb 2021 08:55:13 +0100 Subject: [PATCH 4/5] Update FileController.cs --- Oqtane.Server/Controllers/FileController.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Oqtane.Server/Controllers/FileController.cs b/Oqtane.Server/Controllers/FileController.cs index 07a85f20..b65d4c9e 100644 --- a/Oqtane.Server/Controllers/FileController.cs +++ b/Oqtane.Server/Controllers/FileController.cs @@ -546,9 +546,8 @@ namespace Oqtane.Controllers file.ImageHeight = image.Height; file.ImageWidth = image.Width; } + stream.Close(); } - - stream.Close(); } return file; From 3af095997f80ed8a77c028d7d98bbe72263d0e8a Mon Sep 17 00:00:00 2001 From: Leigh Pointer Date: Thu, 18 Feb 2021 09:27:51 +0100 Subject: [PATCH 5/5] Fixed when file size is less that 1 Kb displays 0. This can be misleading as many svg files are less that 1 kb. File size now displays to 2 deciaml places. --- Oqtane.Client/Modules/Admin/Files/Index.razor | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Oqtane.Client/Modules/Admin/Files/Index.razor b/Oqtane.Client/Modules/Admin/Files/Index.razor index 26cd56f9..58990804 100644 --- a/Oqtane.Client/Modules/Admin/Files/Index.razor +++ b/Oqtane.Client/Modules/Admin/Files/Index.razor @@ -42,7 +42,7 @@ @context.Name @context.ModifiedOn @context.Extension.ToUpper() @Localizer["File"] - @(context.Size / 1000) KB + @string.Format("{0:0.00}", ((decimal)context.Size / 1000)) KB @if (_files.Count == 0)