😎增加根据业务数据Id获取文件列表方法
This commit is contained in:
parent
eba65021e5
commit
79aedbcad7
@ -4,7 +4,6 @@
|
||||
//
|
||||
// 不得利用本项目从事危害国家安全、扰乱社会秩序、侵犯他人合法权益等法律法规禁止的活动!任何基于本项目二次开发而产生的一切法律纠纷和责任,我们不承担任何责任!
|
||||
|
||||
using Aliyun.OSS.Util;
|
||||
using Furion.AspNetCore;
|
||||
using Microsoft.AspNetCore.Mvc.ModelBinding;
|
||||
|
||||
@ -270,13 +269,12 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
// 判断是否重复上传的文件
|
||||
var sizeKb = input.File.Length / 1024; // 大小KB
|
||||
var fileMd5 = string.Empty;
|
||||
// 不管要不要验证md5,也把Md6计算出来,方便统计重复的文件。
|
||||
// 计算文件MD5(长度为32的固定字符串)
|
||||
await using (var fileStream = input.File.OpenReadStream())
|
||||
{
|
||||
//fileMd5 = OssUtils.ComputeContentMd5(fileStream, fileStream.Length); // 这种返回的是base64字符串有"="这种特殊字符,格式不规范
|
||||
byte[] bsFile = new byte[fileStream.Length];
|
||||
_ = fileStream.Read(bsFile, 0, bsFile.Length);
|
||||
fileMd5 = MD5Encryption.Encrypt(bsFile);// 使用这个返回长度为32的固定字符串
|
||||
fileMd5 = MD5Encryption.Encrypt(bsFile);
|
||||
}
|
||||
if (_uploadOptions.EnableMd5)
|
||||
{
|
||||
@ -413,5 +411,19 @@ public class SysFileService : IDynamicApiController, ITransient
|
||||
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集合导航属性,业务增加和更新、删除分别调用即可
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user