移动部分文件位置

This commit is contained in:
root
2023-09-25 10:31:43 +08:00
parent d97aa281f4
commit 4aea7a0224
14 changed files with 32 additions and 37 deletions
+82
View File
@@ -0,0 +1,82 @@
namespace Util.FileStorage;
/// <summary>
/// 文件大小
/// </summary>
public readonly struct FileSize {
/// <summary>
/// 文件字节长度
/// </summary>
private readonly long _size;
/// <summary>
/// 初始化文件大小
/// </summary>
/// <param name="size">文件大小</param>
/// <param name="unit">文件大小单位</param>
public FileSize( long size, FileSizeUnit unit = FileSizeUnit.Byte ) {
_size = GetSize( size, unit );
}
/// <summary>
/// 获取文件大小
/// </summary>
private static long GetSize( long size, FileSizeUnit unit ) {
switch ( unit ) {
case FileSizeUnit.K:
return size * 1024;
case FileSizeUnit.M:
return size * 1024 * 1024;
case FileSizeUnit.G:
return size * 1024 * 1024 * 1024;
default:
return size;
}
}
/// <summary>
/// 文件字节长度
/// </summary>
public long Size => _size;
/// <summary>
/// 获取文件大小,单位:字节
/// </summary>
public int GetSize() {
return Util.Helpers.Convert.ToInt( Size );
}
/// <summary>
/// 获取文件大小,单位:K
/// </summary>
public double GetSizeByK() {
return Util.Helpers.Convert.ToDouble( _size / 1024.0, 2 );
}
/// <summary>
/// 获取文件大小,单位:M
/// </summary>
public double GetSizeByM() {
return Util.Helpers.Convert.ToDouble( _size / 1024.0 / 1024.0, 2 );
}
/// <summary>
/// 获取文件大小,单位:G
/// </summary>
public double GetSizeByG() {
return Util.Helpers.Convert.ToDouble( _size / 1024.0 / 1024.0 / 1024.0, 2 );
}
/// <summary>
/// 输出描述
/// </summary>
public override string ToString() {
if ( _size >= 1024 * 1024 * 1024 )
return $"{GetSizeByG()} {FileSizeUnit.G.Description()}";
if ( _size >= 1024 * 1024 )
return $"{GetSizeByM()} {FileSizeUnit.M.Description()}";
if ( _size >= 1024 )
return $"{GetSizeByK()} {FileSizeUnit.K.Description()}";
return $"{_size} {FileSizeUnit.Byte.Description()}";
}
}
+27
View File
@@ -0,0 +1,27 @@
namespace Util.FileStorage;
/// <summary>
/// 文件大小单位
/// </summary>
public enum FileSizeUnit {
/// <summary>
/// 字节
/// </summary>
[Description( "B" )]
Byte,
/// <summary>
/// K字节
/// </summary>
[Description( "KB" )]
K,
/// <summary>
/// M字节
/// </summary>
[Description( "MB" )]
M,
/// <summary>
/// G字节
/// </summary>
[Description( "GB" )]
G
}
+43
View File
@@ -0,0 +1,43 @@
namespace Util.FileStorage;
/// <summary>
/// 文件信息
/// </summary>
public class FileStorageInfo {
/// <summary>
/// 文件标识
/// </summary>
public string Id { get; set; }
/// <summary>
/// 文件路径
/// </summary>
public string FilePath { get; set; }
/// <summary>
/// 文件名,包含扩展名
/// </summary>
public string FileName { get; set; }
/// <summary>
/// 文件名,不包含扩展名
/// </summary>
public string FileNameWithoutExtension { get; set; }
/// <summary>
/// 扩展名
/// </summary>
public string Extension { get; set; }
/// <summary>
/// 文件大小
/// </summary>
public long Size { get; set; }
/// <summary>
/// 文件大小描述
/// </summary>
public string SizeDescription { get; set; }
/// <summary>
/// 文件访问地址
/// </summary>
public string Url { get; set; }
/// <summary>
/// 缩略图访问地址
/// </summary>
public string ThumbUrl { get; set; }
}
+1
View File
@@ -3,3 +3,4 @@ global using System.Threading.Tasks;
global using System.Collections.Generic;
global using System.Threading;
global using System.IO;
global using System.ComponentModel;