diff --git a/Yi.Framework.Net6/Yi.Framework.sln b/Yi.Framework.Net6/Yi.Framework.sln index e818051e..4c4374e7 100644 --- a/Yi.Framework.Net6/Yi.Framework.sln +++ b/Yi.Framework.Net6/Yi.Framework.sln @@ -83,7 +83,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.RBAC.Application", "src\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.RBAC.Web", "src\project\rbac\Yi.RBAC.Web\Yi.RBAC.Web.csproj", "{0C031C7D-6F80-4559-977C-AC001036EC44}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.ThumbnailSharp", "src\module\Yi.Framework.ThumbnailSharp\Yi.Framework.ThumbnailSharp.csproj", "{60E54034-792C-4A90-BCDF-4D5FFB45089E}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.ImageSharp", "src\module\Yi.Framework.ImageSharp\Yi.Framework.ImageSharp.csproj", "{60E54034-792C-4A90-BCDF-4D5FFB45089E}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.EventBus", "src\module\Yi.Framework.EventBus\Yi.Framework.EventBus.csproj", "{FC559052-36EC-4379-B447-298FAD6045F4}" EndProject @@ -103,7 +103,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.MultiTenancy", EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.DictionaryManager", "src\module\Yi.Framework.DictionaryManager\Yi.Framework.DictionaryManager.csproj", "{8941B30D-698B-477A-8737-43E7B4A8695A}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Yi.Framework.Sms.Aliyun", "src\module\Yi.Framework.Sms.Aliyun\Yi.Framework.Sms.Aliyun.csproj", "{063178CF-C5B9-463C-A8A4-F32B743818E2}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Yi.Framework.Sms.Aliyun", "src\module\Yi.Framework.Sms.Aliyun\Yi.Framework.Sms.Aliyun.csproj", "{063178CF-C5B9-463C-A8A4-F32B743818E2}" EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Extensions/ModuleExtensions.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Extensions/ModuleExtensions.cs index 0f0e3d64..8dc1db62 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Extensions/ModuleExtensions.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Extensions/ModuleExtensions.cs @@ -23,9 +23,9 @@ namespace Yi.Framework.Core.Extensions public static WebApplicationBuilder UseYiModules(this WebApplicationBuilder builder, Type startType) { var moduleManager = new ModuleManager(startType); - moduleManager.Invoker(); + - Assembly[] assemblies2 = moduleManager.ToAssemblyArray(); + Assembly[] assemblies2 = moduleManager.ToAssemblyArray(moduleManager.Invoker()); return builder.UseStartupModules(delegate (StartupModulesOptions options) { options.DiscoverStartupModules(assemblies2); diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs index c0b5b611..d238f27e 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Helper/MimeHelper.cs @@ -16,7 +16,7 @@ namespace Yi.Framework.Core.Helper public static List ImageType { get; set; } = new List { - ".jpg",".png",".jpge",".gif" + ".jpg",".png",".jpge" }; private static Hashtable _mimeMappingTable; diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/ModuleManager.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/ModuleManager.cs index 8d7c6a39..22e4b15e 100644 --- a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/ModuleManager.cs +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/ModuleManager.cs @@ -12,17 +12,30 @@ namespace Yi.Framework.Core.Module internal class ModuleManager { + /// + /// 全部程序集 + /// private List ResultType = new List(); + + /// + /// 开始程序集 + /// private Type StartType; public ModuleManager(Type startType) { StartType = startType; } + /// + /// 执行 + /// + /// public List Invoker() { StartBFSNodes(StartType); - var result= RemoveDuplicate(ResultType); + ResultType= ResultType.Distinct().ToList(); + var result = StartTopologicalSortNodes().Reverse().ToList(); + Logger? _logger = LogManager.Setup().LoadConfigurationFromAssemblyResource(typeof(ModuleManager).Assembly).GetCurrentClassLogger(); foreach (var r in result) { @@ -33,17 +46,37 @@ namespace Yi.Framework.Core.Module return result; } - private Type[]? GetDependsOnType(Type type) - { - var dependsOnbuild = type.GetCustomAttributes(typeof(DependsOnAttribute), false).FirstOrDefault() as DependsOnAttribute; - if (dependsOnbuild is null) - { - return new Type[0]; - } - return dependsOnbuild.GetDependedTypes(); + private Type[] StartTopologicalSortNodes() + { + List> topologicalSortNodes = new List>(); + + + //添加注册到节点 + foreach (var res in ResultType) + { + var typeNode = new TopologicalSortNode(res); + topologicalSortNodes.Add(typeNode); + } + + Dictionary> nodeDic = topologicalSortNodes.ToDictionary(x => x.Data); + + + //各个节点互相添加依赖 + foreach (var node in topologicalSortNodes) + { + GetDependsOnType(node.Data)?.ToList().ForEach(x => node.AddDependent(nodeDic[x])); + } + + + + return TopologicalSortNode.TopologicalSort(topologicalSortNodes).Select(x => x.Data).ToArray(); } + /// + /// BFS获取全部程序集 + /// + /// private void StartBFSNodes(Type node) { ResultType.Add(node); @@ -57,29 +90,30 @@ namespace Yi.Framework.Core.Module } } - private List RemoveDuplicate(List array) + + /// + /// 获取模块 需依赖的模块 + /// + /// + /// + private Type[]? GetDependsOnType(Type type) { - HashSet s = new HashSet(); - List list = new List(); - for (int i = array.Count - 1; i >= 0; i--) + var dependsOnbuild = type.GetCustomAttributes(typeof(DependsOnAttribute), false).FirstOrDefault() as DependsOnAttribute; + if (dependsOnbuild is null) { - if (!s.Contains(array[i])) - { - s.Add(array[i]); - list.Add(array[i]); - } + return new Type[0]; } - ResultType = list; - return list; + return dependsOnbuild.GetDependedTypes(); } + public List ToAssemblyList() { return ResultType.Select(a => a.Assembly).ToList(); } - public Assembly[] ToAssemblyArray() + public Assembly[] ToAssemblyArray(List types) { - return ResultType.Select(a => a.Assembly).ToArray(); + return types.Select(a => a.Assembly).ToArray(); } } } diff --git a/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/TopologicalSortNode.cs b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/TopologicalSortNode.cs new file mode 100644 index 00000000..630e0382 --- /dev/null +++ b/Yi.Framework.Net6/src/framework/Yi.Framework.Core/Module/TopologicalSortNode.cs @@ -0,0 +1,66 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Yi.Framework.Core.Module +{ + public class TopologicalSortNode + { + public T Data { get; private set; } + public List> Dependents { get; private set; } + public int IncomingEdges { get; private set; } + public TopologicalSortNode(T data) + { + Data = data; + Dependents = new List>(); + IncomingEdges = 0; + } + public void AddDependent(TopologicalSortNode dependent) + { + Dependents.Add(dependent); + dependent.IncomingEdges++; + } + + + public static List> TopologicalSort(List> graph) + { + List> result = new List>(); + Queue> queue = new Queue>(); + // 将所有入度为 0 的节点加入队列 + foreach (TopologicalSortNode node in graph) + { + if (node.IncomingEdges == 0) + { + queue.Enqueue(node); + } + } + // 依次将入度为 0 的节点出队,并将它的依赖节点的入度减 1 + while (queue.Count > 0) + { + TopologicalSortNode node = queue.Dequeue(); + result.Add(node); + foreach (TopologicalSortNode dependent in node.Dependents) + { + dependent.IncomingEdges--; + if (dependent.IncomingEdges == 0) + { + queue.Enqueue(dependent); + } + } + } + // 如果存在入度不为 0 的节点,则说明图中存在环 + foreach (TopologicalSortNode node in graph) + { + if (node.IncomingEdges != 0) + { + throw new ArgumentException("模块之间存在互相依赖!"); + } + } + return result; + } + + + } +} diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs index b512206a..f5ab7930 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/FileService.cs @@ -17,7 +17,7 @@ using Yi.Framework.Core.Helper; using Yi.Framework.Ddd.Repositories; using Yi.Framework.Ddd.Services; using Yi.Framework.Ddd.Services.Abstract; -using Yi.Framework.ThumbnailSharp; +using Yi.Framework.ImageSharp; namespace Yi.Framework.FileManager { @@ -27,13 +27,13 @@ namespace Yi.Framework.FileManager public class FileService : ApplicationService, IFileService, IAutoApiService { private readonly IRepository _repository; - private readonly ThumbnailSharpManager _thumbnailSharpManager; + private readonly ImageSharpManager _imageSharpManager; private readonly HttpContext _httpContext; - public FileService(IRepository repository, ThumbnailSharpManager thumbnailSharpManager, IHttpContextAccessor httpContextAccessor + public FileService(IRepository repository, ImageSharpManager imageSharpManager, IHttpContextAccessor httpContextAccessor ) { _repository = repository; - _thumbnailSharpManager = thumbnailSharpManager; + _imageSharpManager = imageSharpManager; if (httpContextAccessor.HttpContext is null) { throw new ApplicationException("HttpContext为空"); @@ -125,21 +125,16 @@ namespace Yi.Framework.FileManager { Directory.CreateDirectory(thumbnailPath); } - //保存至缩略图路径 - byte[] result = null!; + string thumbnailFilePath = Path.Combine(thumbnailPath, filename); try { - result = _thumbnailSharpManager.CreateThumbnailBytes(thumbnailSize: 300, imageStream: stream, imageFormat: Format.Jpeg); - if(result is null) throw new ArgumentNullException(nameof(result)); + _imageSharpManager.ImageCompress(f.FileName, f.OpenReadStream(), thumbnailFilePath); } catch { - result = new byte[stream.Length]; - stream.Read(result, 0, result.Length); - } - finally - { - await System.IO.File.WriteAllBytesAsync(Path.Combine(thumbnailPath, filename), result); + var result = new byte[stream.Length]; + await stream.ReadAsync(result, 0, result.Length); + await File.WriteAllBytesAsync(thumbnailFilePath, result); } } diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj index 453826c2..649a12e6 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj +++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/Yi.Framework.FileManager.csproj @@ -12,7 +12,7 @@ - + diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs index c2c5e25c..e6b613db 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.FileManager/YiFrameworkFileManagerModule.cs @@ -4,11 +4,13 @@ using StartupModules; using Yi.Framework.Core.Attributes; using Yi.Framework.Core; using Yi.Framework.Ddd; +using Yi.Framework.ImageSharp; namespace Yi.Framework.FileManager { [DependsOn( - typeof(YiFrameworkDddModule) + typeof(YiFrameworkDddModule), + typeof(YiFrameworkImageSharpModule) )] public class YiFrameworkFileManagerModule : IStartupModule { diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/ImageSharpManager.cs b/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/ImageSharpManager.cs new file mode 100644 index 00000000..5c978345 --- /dev/null +++ b/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/ImageSharpManager.cs @@ -0,0 +1,64 @@ +using SixLabors.ImageSharp.Formats.Jpeg; +using SixLabors.ImageSharp.Formats.Png; +using SixLabors.ImageSharp.Processing; + +namespace Yi.Framework.ImageSharp; +public class ImageSharpManager +{ + public void ImageCompress(string fileName, Stream stream, string savePath) + { + var extensionName = Path.GetExtension(fileName).ToLower(); + if (extensionName == ".png") + { + PngImageCompress(stream, savePath); + } + else if (extensionName == ".jpg" || extensionName == ".jpeg") + { + JpgImageCompress(stream, savePath); + } + else + { + using (var fileStream = new FileStream(savePath, FileMode.Create, FileAccess.Write)) + { + stream.CopyTo(fileStream); + } + } + + } + + public void PngImageCompress(Stream stream, string savePath) + { + using (var image = Image.Load(stream)) + { + var encoder = new PngEncoder() + { + CompressionLevel = PngCompressionLevel.Level6, + + }; + if (image.Width > 300) + { + image.Mutate(a => a.Resize(image.Width/2, image.Height/2)); + } + + image.Save(savePath, encoder); + } + } + public void JpgImageCompress(Stream stream, string savePath) + { + using (var image = Image.Load(stream)) + { + var encoder = new JpegEncoder() + { + Quality = 30 + }; + if (image.Width > 300) + { + image.Mutate(a => a.Resize(image.Width / 2, image.Height / 2)); + } + + + image.Save(savePath, encoder); + } + } + +} \ No newline at end of file diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/Yi.Framework.ThumbnailSharp.csproj b/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/Yi.Framework.ImageSharp.csproj similarity index 83% rename from Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/Yi.Framework.ThumbnailSharp.csproj rename to Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/Yi.Framework.ImageSharp.csproj index 0b02fc1f..06e1c41c 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/Yi.Framework.ThumbnailSharp.csproj +++ b/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/Yi.Framework.ImageSharp.csproj @@ -7,7 +7,7 @@ - + diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/YiFrameworkThumbnailSharpModule.cs b/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/YiFrameworkImageSharpModule.cs similarity index 74% rename from Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/YiFrameworkThumbnailSharpModule.cs rename to Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/YiFrameworkImageSharpModule.cs index 4239cafc..d1cc3f35 100644 --- a/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/YiFrameworkThumbnailSharpModule.cs +++ b/Yi.Framework.Net6/src/module/Yi.Framework.ImageSharp/YiFrameworkImageSharpModule.cs @@ -7,9 +7,9 @@ using System.Linq; using System.Text; using System.Threading.Tasks; -namespace Yi.Framework.ThumbnailSharp +namespace Yi.Framework.ImageSharp { - public class YiFrameworkThumbnailSharpModule : IStartupModule + public class YiFrameworkImageSharpModule : IStartupModule { public void Configure(IApplicationBuilder app, ConfigureMiddlewareContext context) { @@ -17,7 +17,7 @@ namespace Yi.Framework.ThumbnailSharp public void ConfigureServices(IServiceCollection services, ConfigureServicesContext context) { - services.AddSingleton(); + services.AddSingleton(); } } } diff --git a/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/ThumbnailSharpManager.cs b/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/ThumbnailSharpManager.cs deleted file mode 100644 index 44936e58..00000000 --- a/Yi.Framework.Net6/src/module/Yi.Framework.ThumbnailSharp/ThumbnailSharpManager.cs +++ /dev/null @@ -1,410 +0,0 @@ -/*MIT License - -Copyright(c) 2017 Mirza Ghulam Rasyid - -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.Drawing; -using System.Drawing.Drawing2D; -using System.Drawing.Imaging; -using System.IO; -using System.Net.Http; -using System.Threading.Tasks; - -namespace Yi.Framework.ThumbnailSharp -{ - /// - /// Image format to use when creating a thumbnail. - /// - public enum Format - { - Jpeg, - Bmp, - Png, - Gif, - Tiff - - } - /// - /// Thumbnail class that holds various methods to create an image thumbnail. - /// - public class ThumbnailSharpManager - { - private Bitmap CreateBitmapThumbnail(uint thumbnailSize, string imageFileLocation) - { - Bitmap bitmap = null; - Image image = null; - float actualHeight = default(float); - float actualWidth = default(float); - uint thumbnailHeight = default(uint); - uint thumbnailWidth = default(uint); - try - { - image = Image.FromFile(imageFileLocation); - } - catch - { - if (image != null) - image = null; - } - if (image != null) - { - actualHeight = image.Height; - actualWidth = image.Width; - if (actualHeight > actualWidth) - { - if ((uint)actualHeight <= thumbnailSize) - throw new Exception("Thumbnail size must be less than actual height (portrait image)"); - thumbnailHeight = thumbnailSize; - thumbnailWidth = (uint)((actualWidth / actualHeight) * thumbnailSize); - } - else if (actualWidth > actualHeight) - { - - if ((uint)actualWidth <= thumbnailSize) - throw new Exception("Thumbnail size must be less than actual width (landscape image)"); - thumbnailWidth = thumbnailSize; - thumbnailHeight = (uint)((actualHeight / actualWidth) * thumbnailSize); - } - else - { - if ((uint)actualWidth <= thumbnailSize) - throw new Exception("Thumbnail size must be less than image's size"); - thumbnailWidth = thumbnailSize; - thumbnailHeight = thumbnailSize; - } - try - { - - bitmap = new Bitmap((int)thumbnailWidth, (int)thumbnailHeight); - Graphics resizedImage = Graphics.FromImage(bitmap); - resizedImage.InterpolationMode = InterpolationMode.HighQualityBicubic; - resizedImage.CompositingQuality = CompositingQuality.HighQuality; - resizedImage.SmoothingMode = SmoothingMode.HighQuality; - resizedImage.DrawImage(image, 0, 0, thumbnailWidth, thumbnailHeight); - } - catch - { - if (bitmap != null) - bitmap = null; - } - } - return bitmap; - } - private Bitmap CreateBitmapThumbnail(uint thumbnailSize, Stream imageStream) - { - Bitmap bitmap = null; - Image image = null; - float actualHeight = default(float); - float actualWidth = default(float); - uint thumbnailHeight = default(uint); - uint thumbnailWidth = default(uint); - try - { - image = Image.FromStream(imageStream); - } - catch - { - if (image != null) - image = null; - } - if (image != null) - { - actualHeight = image.Height; - actualWidth = image.Width; - if (actualHeight > actualWidth) - { - if ((uint)actualHeight <= thumbnailSize) - throw new Exception("Thumbnail size must be less than actual height (portrait image)"); - thumbnailHeight = thumbnailSize; - thumbnailWidth = (uint)((actualWidth / actualHeight) * thumbnailSize); - } - else if (actualWidth > actualHeight) - { - - if ((uint)actualWidth <= thumbnailSize) - throw new Exception("Thumbnail size must be less than actual width (landscape image)"); - thumbnailWidth = thumbnailSize; - thumbnailHeight = (uint)((actualHeight / actualWidth) * thumbnailSize); - } - else - { - if ((uint)actualWidth <= thumbnailSize) - throw new Exception("Thumbnail size must be less than image's size"); - thumbnailWidth = thumbnailSize; - thumbnailHeight = thumbnailSize; - } - try - { - bitmap = new Bitmap((int)thumbnailWidth, (int)thumbnailHeight); - Graphics resizedImage = Graphics.FromImage(bitmap); - resizedImage.InterpolationMode = InterpolationMode.HighQualityBicubic; - resizedImage.CompositingQuality = CompositingQuality.HighQuality; - resizedImage.SmoothingMode = SmoothingMode.HighQuality; - resizedImage.DrawImage(image, 0, 0, thumbnailWidth, thumbnailHeight); - } - catch - { - if (bitmap != null) - bitmap = null; - } - } - return bitmap; - } - private ImageFormat GetImageFormat(Format format) - { - switch (format) - { - case Format.Jpeg: - return ImageFormat.Jpeg; - case Format.Bmp: - return ImageFormat.Bmp; - case Format.Png: - return ImageFormat.Png; - case Format.Gif: - return ImageFormat.Gif; - default: - return ImageFormat.Tiff; - } - } - private async Task GetImageStreamFromUrl(Uri urlAddress) - { - Stream result = null; - try - { - byte[] bytes = await GetImageBytesFromUrl(urlAddress); - result = new MemoryStream(bytes); - } - catch - { - result = null; - } - return result; - } - private async Task GetImageBytesFromUrl(Uri urlAddress) - { - byte[] buffer = null; - try - { - using (HttpClient client = new HttpClient()) - { - buffer = await client.GetByteArrayAsync(urlAddress); - } - } - catch - { - buffer = null; - } - return buffer; - } - - /// - /// Create a thumbnail from file and returns as stream. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Correct image file location. - /// Image format to use. - /// A thumbnail image as stream. Returns null if it fails. - /// 'imageFileLocation' is null. - /// 'imageFileLocation' does not exist. - public Stream CreateThumbnailStream(uint thumbnailSize, string imageFileLocation, Format imageFormat) - { - if (String.IsNullOrEmpty(imageFileLocation)) - throw new ArgumentNullException(nameof(imageFileLocation), "'imageFileLocation' cannot be null"); - if (!File.Exists(imageFileLocation)) - throw new FileNotFoundException($"'{imageFileLocation}' cannot be found"); - Bitmap bitmap = CreateBitmapThumbnail(thumbnailSize, imageFileLocation); - if (bitmap != null) - { - MemoryStream stream = new MemoryStream(); - bitmap.Save(stream, GetImageFormat(imageFormat)); - stream.Position = 0; - return stream; - } - return null; - } - /// - /// Create a thumbnail from image stream and returns as stream. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Valid image stream object. - /// Image format to use. - /// A thumbnail image as stream. Returns null if it fails. - /// 'imageStream' is null. - public Stream CreateThumbnailStream(uint thumbnailSize, Stream imageStream, Format imageFormat) - { - if (imageStream == null) - throw new ArgumentNullException(nameof(imageStream), "'imageStream' cannot be null"); - Bitmap bitmap = CreateBitmapThumbnail(thumbnailSize, imageStream); - if (bitmap != null) - { - MemoryStream stream = new MemoryStream(); - bitmap.Save(stream, GetImageFormat(imageFormat)); - stream.Position = 0; - return stream; - } - return null; - } - /// - /// Create a thumbnail from image in bytes and returns as stream. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Valid image bytes array. - /// Image format to use. - /// A thumbnail image as stream. Returns null if it fails. - /// 'imageBytes' is null. - public Stream CreateThumbnailStream(uint thumbnailSize, byte[] imageBytes, Format imageFormat) - { - if (imageBytes == null) - throw new ArgumentNullException(nameof(imageBytes), "'imageStream' cannot be null"); - Bitmap bitmap = CreateBitmapThumbnail(thumbnailSize, new MemoryStream(imageBytes)); - if (bitmap != null) - { - MemoryStream stream = new MemoryStream(); - bitmap.Save(stream, GetImageFormat(imageFormat)); - stream.Position = 0; - return stream; - } - return null; - } - /// - /// Create a thumbnail from file and returns as bytes. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Correct image file location. - /// Image format to use. - /// A thumbnail image as bytes. Returns null if it fails. - /// 'imageFileLocation' is null. - /// 'imageFileLocation' does not exist. - public byte[] CreateThumbnailBytes(uint thumbnailSize, string imageFileLocation, Format imageFormat) - { - if (String.IsNullOrEmpty(imageFileLocation)) - throw new ArgumentNullException(nameof(imageFileLocation), "'imageFileLocation' cannot be null"); - if (!File.Exists(imageFileLocation)) - throw new FileNotFoundException($"'{imageFileLocation}' cannot be found"); - Stream stream = CreateThumbnailStream(thumbnailSize, imageFileLocation, imageFormat); - if (stream != null) - { - byte[] streamBytes = new byte[stream.Length]; - stream.Read(streamBytes, 0, streamBytes.Length); - return streamBytes; - } - return null; - } - /// - /// Create a thumbnail from image stream and returns as bytes. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Valid image stream object. - /// Image format to use. - /// A thumbnail image as bytes. Returns null if it fails. - /// 'imageStream' is null. - public byte[] CreateThumbnailBytes(uint thumbnailSize, Stream imageStream, Format imageFormat) - { - if (imageStream == null) - throw new ArgumentNullException(nameof(imageStream), "'imageStream' cannot be null"); - - Stream stream = CreateThumbnailStream(thumbnailSize, imageStream, imageFormat); - if (stream != null) - { - byte[] streamBytes = new byte[stream.Length]; - stream.Read(streamBytes, 0, streamBytes.Length); - return streamBytes; - } - return null; - } - /// - /// Create a thumbnail from image in bytes and returns as bytes. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Valid image bytes array. - /// Image format to use. - /// A thumbnail image as bytes. Returns null if it fails. - /// 'imageBytes' is null. - public byte[] CreateThumbnailBytes(uint thumbnailSize, byte[] imageBytes, Format imageFormat) - { - if (imageBytes == null) - throw new ArgumentNullException(nameof(imageBytes), "'imageStream' cannot be null"); - Stream stream = CreateThumbnailStream(thumbnailSize, imageBytes, imageFormat); - if (stream != null) - { - byte[] streamBytes = new byte[stream.Length]; - stream.Read(streamBytes, 0, streamBytes.Length); - return streamBytes; - } - return null; - } - - - /// - /// Create a thumbnail from valid image url asynchronously. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Valid absolute url address with proper scheme. - /// Image format to use. - /// A thumbnail image as stream. Returns null if it fails. - /// 'urlAddress' is null. - public async Task CreateThumbnailStreamAsync(uint thumbnailSize, Uri urlAddress, Format imageFormat) - { - if (urlAddress == null) - throw new ArgumentNullException(nameof(urlAddress), "'urlAddress' cannot be null"); - Stream result = null; - Stream stream = await GetImageStreamFromUrl(urlAddress); - if (stream != null) - { - result = CreateThumbnailStream(thumbnailSize, stream, imageFormat); - } - return result; - } - - /// - /// Create a thumbnail from valid image url asynchronously. - /// - /// Thumbnail size. For portrait image, thumbnail size must be less than its height. - /// For landscape image, thumbnail size must be less than its width. For the same size image (Proportional), thumbnail size must be less than its width and height. - /// Valid absolute url address with proper scheme. - /// Image format to use. - /// A thumbnail image as bytes. Returns null if it fails. - /// 'urlAddress' is null. - public async Task CreateThumbnailBytesAsync(uint thumbnailSize, Uri urlAddress, Format imageFormat) - { - if (urlAddress == null) - throw new ArgumentNullException(nameof(urlAddress), "'urlAddress' cannot be null"); - byte[] result = null; - byte[] imageBytes = await GetImageBytesFromUrl(urlAddress); - if (imageBytes != null) - { - result = CreateThumbnailBytes(thumbnailSize, imageBytes, imageFormat); - } - return result; - } - - - - } -} \ No newline at end of file diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637082987092905984.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637082987092905984.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637082987092905984.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083125156810752.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083125156810752.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083125156810752.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083169901645824.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083169901645824.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083169901645824.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083271831621632.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083271831621632.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083271831621632.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083367864406016.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083367864406016.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083367864406016.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083745968328704.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083745968328704.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083745968328704.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083867703808000.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083867703808000.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083867703808000.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083911882412032.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083911882412032.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637083911882412032.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637084155936378880.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637084155936378880.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637084155936378880.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637128794496176128.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637128794496176128.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637128794496176128.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637417095044141056.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637417095044141056.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637417095044141056.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637425549594988544.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637425549594988544.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637425549594988544.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637845338872221697.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637845338872221697.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1637845338872221697.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639533110951546880.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639533110951546880.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639533110951546880.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639533566218080256.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639533566218080256.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639533566218080256.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639534806087897088.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639534806087897088.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639534806087897088.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535584387141632.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535584387141632.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535584387141632.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535709398372352.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535709398372352.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535709398372352.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535734618722304.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535734618722304.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535734618722304.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535798275674112.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535798275674112.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535798275674112.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535839769923584.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535839769923584.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639535839769923584.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639538862881640448.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639538862881640448.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639538862881640448.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539024949547008.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539024949547008.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539024949547008.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539319817506816.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539319817506816.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539319817506816.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539496531922944.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539496531922944.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639539496531922944.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639540931445264384.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639540931445264384.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639540931445264384.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639540982485749760.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639540982485749760.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639540982485749760.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639562204019822592.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639562204019822592.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639562204019822592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639583838608953344.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639583838608953344.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639583838608953344.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639584366197870592.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639584366197870592.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639584366197870592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639585544113623040.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639585544113623040.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1639585544113623040.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1642469589931659264.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1642469589931659264.jpg new file mode 100644 index 00000000..080c931d Binary files /dev/null and b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Image/1642469589931659264.jpg differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637082987092905984.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637082987092905984.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637082987092905984.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083125156810752.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083125156810752.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083125156810752.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083169901645824.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083169901645824.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083169901645824.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083271831621632.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083271831621632.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083271831621632.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083367864406016.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083367864406016.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083367864406016.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083745968328704.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083745968328704.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083745968328704.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083867703808000.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083867703808000.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083867703808000.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083911882412032.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083911882412032.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637083911882412032.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637084155936378880.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637084155936378880.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637084155936378880.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637128794496176128.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637128794496176128.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637128794496176128.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637417095044141056.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637417095044141056.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637417095044141056.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637425549594988544.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637425549594988544.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637425549594988544.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637845338872221697.png b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637845338872221697.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1637845338872221697.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639533110951546880.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639533110951546880.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639533110951546880.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639533566218080256.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639533566218080256.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639533566218080256.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639534806087897088.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639534806087897088.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639534806087897088.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535584387141632.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535584387141632.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535584387141632.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535709398372352.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535709398372352.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535709398372352.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535734618722304.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535734618722304.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535734618722304.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535798275674112.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535798275674112.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535798275674112.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535839769923584.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535839769923584.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639535839769923584.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639538862881640448.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639538862881640448.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639538862881640448.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539024949547008.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539024949547008.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539024949547008.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539319817506816.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539319817506816.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539319817506816.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539496531922944.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539496531922944.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639539496531922944.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639540931445264384.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639540931445264384.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639540931445264384.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639540982485749760.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639540982485749760.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639540982485749760.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639562204019822592.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639562204019822592.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639562204019822592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639583838608953344.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639583838608953344.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639583838608953344.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639584366197870592.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639584366197870592.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639584366197870592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639585544113623040.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639585544113623040.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1639585544113623040.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1642469589931659264.jpg b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1642469589931659264.jpg new file mode 100644 index 00000000..085ee532 Binary files /dev/null and b/Yi.Framework.Net6/src/project/BBS/Yi.BBS.Web/wwwroot/Thumbnail/1642469589931659264.jpg differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637082987092905984.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637082987092905984.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637082987092905984.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083125156810752.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083125156810752.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083125156810752.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083169901645824.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083169901645824.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083169901645824.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083271831621632.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083271831621632.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083271831621632.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083367864406016.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083367864406016.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083367864406016.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083745968328704.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083745968328704.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083745968328704.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083867703808000.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083867703808000.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083867703808000.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083911882412032.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083911882412032.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637083911882412032.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637084155936378880.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637084155936378880.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637084155936378880.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637128794496176128.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637128794496176128.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637128794496176128.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637417095044141056.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637417095044141056.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637417095044141056.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637425549594988544.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637425549594988544.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637425549594988544.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637845338872221697.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637845338872221697.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1637845338872221697.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639533110951546880.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639533110951546880.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639533110951546880.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639533566218080256.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639533566218080256.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639533566218080256.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639534806087897088.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639534806087897088.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639534806087897088.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535584387141632.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535584387141632.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535584387141632.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535709398372352.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535709398372352.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535709398372352.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535734618722304.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535734618722304.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535734618722304.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535798275674112.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535798275674112.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535798275674112.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535839769923584.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535839769923584.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639535839769923584.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639538862881640448.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639538862881640448.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639538862881640448.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539024949547008.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539024949547008.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539024949547008.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539319817506816.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539319817506816.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539319817506816.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539496531922944.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539496531922944.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639539496531922944.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639540931445264384.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639540931445264384.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639540931445264384.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639540982485749760.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639540982485749760.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639540982485749760.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639562204019822592.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639562204019822592.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639562204019822592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639583838608953344.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639583838608953344.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639583838608953344.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639584366197870592.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639584366197870592.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639584366197870592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639585544113623040.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639585544113623040.jpg deleted file mode 100644 index 57c1f446..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1639585544113623040.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1640596730678480896.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1640596730678480896.png deleted file mode 100644 index a07294e8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Image/1640596730678480896.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637082987092905984.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637082987092905984.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637082987092905984.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083125156810752.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083125156810752.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083125156810752.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083169901645824.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083169901645824.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083169901645824.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083271831621632.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083271831621632.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083271831621632.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083367864406016.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083367864406016.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083367864406016.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083745968328704.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083745968328704.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083745968328704.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083867703808000.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083867703808000.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083867703808000.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083911882412032.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083911882412032.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637083911882412032.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637084155936378880.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637084155936378880.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637084155936378880.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637128794496176128.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637128794496176128.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637128794496176128.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637417095044141056.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637417095044141056.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637417095044141056.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637425549594988544.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637425549594988544.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637425549594988544.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637845338872221697.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637845338872221697.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1637845338872221697.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639533110951546880.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639533110951546880.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639533110951546880.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639533566218080256.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639533566218080256.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639533566218080256.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639534806087897088.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639534806087897088.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639534806087897088.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535584387141632.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535584387141632.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535584387141632.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535709398372352.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535709398372352.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535709398372352.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535734618722304.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535734618722304.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535734618722304.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535798275674112.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535798275674112.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535798275674112.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535839769923584.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535839769923584.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639535839769923584.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639538862881640448.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639538862881640448.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639538862881640448.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539024949547008.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539024949547008.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539024949547008.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539319817506816.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539319817506816.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539319817506816.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539496531922944.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539496531922944.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639539496531922944.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639540931445264384.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639540931445264384.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639540931445264384.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639540982485749760.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639540982485749760.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639540982485749760.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639562204019822592.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639562204019822592.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639562204019822592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639583838608953344.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639583838608953344.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639583838608953344.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639584366197870592.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639584366197870592.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639584366197870592.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639585544113623040.jpg b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639585544113623040.jpg deleted file mode 100644 index 446af2c8..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1639585544113623040.jpg and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1640596730678480896.png b/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1640596730678480896.png deleted file mode 100644 index 703bb487..00000000 Binary files a/Yi.Framework.Net6/src/project/bbs/Yi.BBS.Web/wwwroot/Thumbnail/1640596730678480896.png and /dev/null differ diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs index 932d3388..b573e2ac 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/AccountService.cs @@ -18,7 +18,6 @@ using Yi.Framework.Core.Enums; using Yi.Framework.Core.Exceptions; using Yi.Framework.Ddd.Repositories; using Yi.Framework.Ddd.Services; -using Yi.Framework.ThumbnailSharp; using Yi.RBAC.Application.Contracts.Identity; using Yi.RBAC.Application.Contracts.Identity.Dtos.Account; using Yi.RBAC.Domain.Identity; diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs index 0d032dad..757518a6 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Application/Identity/DeptService.cs @@ -6,7 +6,6 @@ using Yi.Framework.Ddd.Services; using Yi.Framework.Ddd.Dtos; using SqlSugar; using Microsoft.AspNetCore.Mvc; -using Cike.AutoWebApi.Setting; namespace Yi.RBAC.Application.Identity { diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj index a1010035..b3bf28f7 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/Yi.RBAC.Domain.csproj @@ -22,7 +22,6 @@ - diff --git a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs index 20865540..48096c6e 100644 --- a/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs +++ b/Yi.Framework.Net6/src/project/rbac/Yi.RBAC.Domain/YiRBACDomainModule.cs @@ -15,7 +15,6 @@ using Yi.Framework.EventBus; using Yi.Framework.FileManager; using Yi.Framework.OperLogManager; using Yi.Framework.Sms.Aliyun; -using Yi.Framework.ThumbnailSharp; using Yi.RBAC.Domain.Logs; using Yi.RBAC.Domain.Shared; @@ -24,7 +23,6 @@ namespace Yi.RBAC.Domain [DependsOn( typeof(YiRBACDomainSharedModule), typeof(YiFrameworkDataModule), - typeof(YiFrameworkThumbnailSharpModule), typeof(YiFrameworkEventBusModule), typeof(YiFrameworkOperLogManagerModule), typeof(YiFrameworkFileManagerModule),