懒得勤快 пре 2 година
родитељ
комит
519df604db

+ 18 - 0
Masuit.Tools.Abstractions/Files/ISevenZipCompressor.cs

@@ -36,6 +36,15 @@ namespace Masuit.Tools.Files
         /// <param name="disposeAllStreams">是否需要释放所有流</param>
         void Zip(DisposableDictionary<string, Stream> streams, string zipFile, ArchiveType archiveType = ArchiveType.Zip, bool disposeAllStreams = false);
 
+        /// <summary>
+        /// 压缩文件夹
+        /// </summary>
+        /// <param name="dir">文件夹</param>
+        /// <param name="zipFile">压缩到...</param>
+        /// <param name="rootdir">压缩包内部根文件夹</param>
+        /// <param name="archiveType"></param>
+        public void Zip(string dir, string zipFile, string rootdir = "", ArchiveType archiveType = ArchiveType.Zip);
+
         /// <summary>
         /// 将多个文件压缩到一个文件流中,可保存为zip文件,方便于web方式下载
         /// </summary>
@@ -53,5 +62,14 @@ namespace Masuit.Tools.Files
         /// <param name="disposeAllStreams">是否需要释放所有流</param>
         /// <returns>文件流</returns>
         PooledMemoryStream ZipStream(DisposableDictionary<string, Stream> streams, ArchiveType archiveType = ArchiveType.Zip, bool disposeAllStreams = false);
+
+        /// <summary>
+        /// 将文件夹压缩到一个文件流中,可保存为zip文件,方便于web方式下载
+        /// </summary>
+        /// <param name="dir">文件夹</param>
+        /// <param name="rootdir"></param>
+        /// <param name="archiveType"></param>
+        /// <returns>文件流</returns>
+        public PooledMemoryStream ZipStream(string dir, string rootdir = "", ArchiveType archiveType = ArchiveType.Zip);
     }
 }

+ 24 - 0
Masuit.Tools.Abstractions/Files/SevenZipCompressor.cs

@@ -52,6 +52,18 @@ namespace Masuit.Tools.Files
             return ms;
         }
 
+        /// <summary>
+        /// 将文件夹压缩到一个文件流中,可保存为zip文件,方便于web方式下载
+        /// </summary>
+        /// <param name="dir">文件夹</param>
+        /// <param name="rootdir"></param>
+        /// <param name="archiveType"></param>
+        /// <returns>文件流</returns>
+        public PooledMemoryStream ZipStream(string dir, string rootdir = "", ArchiveType archiveType = ArchiveType.Zip)
+        {
+            return ZipStream(Directory.EnumerateFiles(dir, "*.*", SearchOption.AllDirectories), rootdir, archiveType);
+        }
+
         /// <summary>
         /// 将多个文件压缩到一个文件流中,可保存为zip文件,方便于web方式下载
         /// </summary>
@@ -83,6 +95,18 @@ namespace Masuit.Tools.Files
             return ms;
         }
 
+        /// <summary>
+        /// 压缩文件夹
+        /// </summary>
+        /// <param name="dir">文件夹</param>
+        /// <param name="zipFile">压缩到...</param>
+        /// <param name="rootdir">压缩包内部根文件夹</param>
+        /// <param name="archiveType"></param>
+        public void Zip(string dir, string zipFile, string rootdir = "", ArchiveType archiveType = ArchiveType.Zip)
+        {
+            Zip(Directory.EnumerateFiles(dir, "*.*", SearchOption.AllDirectories), zipFile, rootdir, archiveType);
+        }
+
         /// <summary>
         /// 压缩多个文件
         /// </summary>

+ 1 - 1
Masuit.Tools.Abstractions/Masuit.Tools.Abstractions.csproj

@@ -3,7 +3,7 @@
         <TargetFrameworks>netstandard2.0;netstandard2.1;net461;net5;net6;net7</TargetFrameworks>
         <LangVersion>latest</LangVersion>
         <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-        <Version>2.6.2.6</Version>
+        <Version>2.6.2.7</Version>
         <Authors>懒得勤快</Authors>
         <Description>Masuit.Tools基础公共库,包含一些常用的操作类,大都是静态类,加密解密,反射操作,Excel简单导出,权重随机筛选算法,分布式短id,表达式树,linq扩展,文件压缩,多线程下载和FTP客户端,硬件信息,字符串扩展方法,日期时间扩展操作,中国农历,大文件拷贝,图像裁剪,验证码,断点续传,集合扩展等常用封装。</Description>
         <Copyright>懒得勤快,长空X</Copyright>

+ 1 - 1
Masuit.Tools.AspNetCore/Masuit.Tools.AspNetCore.csproj

@@ -18,7 +18,7 @@
         <Product>Masuit.Tools.AspNetCore</Product>
         <PackageId>Masuit.Tools.AspNetCore</PackageId>
         <LangVersion>latest</LangVersion>
-        <Version>1.2.2.6</Version>
+        <Version>1.2.2.7</Version>
         <RepositoryType></RepositoryType>
         <GeneratePackageOnBuild>True</GeneratePackageOnBuild>
         <FileVersion>1.1.9</FileVersion>

+ 1 - 1
Masuit.Tools.Core/Masuit.Tools.Core.csproj

@@ -6,7 +6,7 @@
 官网教程:https://masuit.org/55
 github:https://github.com/ldqk/Masuit.Tools
         </Description>
-        <Version>2.6.2.6</Version>
+        <Version>2.6.2.7</Version>
         <Copyright>Copyright © 懒得勤快</Copyright>
         <PackageProjectUrl>https://github.com/ldqk/Masuit.Tools</PackageProjectUrl>
         <PackageTags>Masuit.Tools,工具库,Utility,Crypt,Extensions</PackageTags>