feat:furion rbac搭建

This commit is contained in:
橙子
2023-04-13 21:12:06 +08:00
parent 18696ec542
commit b9dad93c9d
194 changed files with 9557 additions and 75 deletions

View File

@@ -0,0 +1,65 @@
using Furion.DependencyInjection;
using SixLabors.ImageSharp.Formats.Jpeg;
using SixLabors.ImageSharp.Formats.Png;
using SixLabors.ImageSharp.Processing;
namespace Yi.Framework.Module.ImageSharp;
public class ImageSharpManager:ISingleton
{
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);
}
}
}