😎增加根据业务数据Id获取文件列表方法

This commit is contained in:
zuohuaijun 2025-07-17 10:38:44 +08:00
parent eba65021e5
commit 79aedbcad7

View File

@ -4,7 +4,6 @@
// //
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任! // 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
using Aliyun.OSS.Util;
using Furion.AspNetCore; using Furion.AspNetCore;
using Microsoft.AspNetCore.Mvc.ModelBinding; using Microsoft.AspNetCore.Mvc.ModelBinding;
@ -270,13 +269,12 @@ public class SysFileService : IDynamicApiController, ITransient
// 判断是否重复上传的文件 // 判断是否重复上传的文件
var sizeKb = input.File.Length / 1024; // 大小KB var sizeKb = input.File.Length / 1024; // 大小KB
var fileMd5 = string.Empty; var fileMd5 = string.Empty;
// 不管要不要验证md5也把Md6计算出来方便统计重复的文件。 // 计算文件MD5长度为32的固定字符串
await using (var fileStream = input.File.OpenReadStream()) await using (var fileStream = input.File.OpenReadStream())
{ {
//fileMd5 = OssUtils.ComputeContentMd5(fileStream, fileStream.Length); // 这种返回的是base64字符串有"="这种特殊字符,格式不规范
byte[] bsFile = new byte[fileStream.Length]; byte[] bsFile = new byte[fileStream.Length];
_ = fileStream.Read(bsFile, 0, bsFile.Length); _ = fileStream.Read(bsFile, 0, bsFile.Length);
fileMd5 = MD5Encryption.Encrypt(bsFile);// 使用这个返回长度为32的固定字符串 fileMd5 = MD5Encryption.Encrypt(bsFile);
} }
if (_uploadOptions.EnableMd5) if (_uploadOptions.EnableMd5)
{ {
@ -413,5 +411,19 @@ public class SysFileService : IDynamicApiController, ITransient
await _sysFileRep.AsDeleteable().Where(u => u.DataId == dataId).ExecuteCommandAsync(); await _sysFileRep.AsDeleteable().Where(u => u.DataId == dataId).ExecuteCommandAsync();
} }
/// <summary>
/// 根据业务数据Id获取文件列表
/// </summary>
/// <param name="dataId"></param>
/// <param name="isClearFilter"></param>
/// <returns></returns>
[NonAction]
public async Task<List<SysFile>> GetFileListByDataId([FromQuery] long dataId, [FromQuery] bool isClearFilter = false)
{
return isClearFilter
? await _sysFileRep.CopyNew().AsQueryable().ClearFilter().Where(u => u.DataId == dataId).ToListAsync()
: await _sysFileRep.CopyNew().GetListAsync(u => u.DataId == dataId);
}
#endregion SysFile集合导航属性 #endregion SysFile集合导航属性
} }