解决修改密码报错,根据文件id下载文件方法
This commit is contained in:
parent
b092bbb817
commit
07a6c2af8a
@ -1,3 +1,4 @@
|
|||||||
|
using NLog;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
using ZR.Admin.WebApi.Filters;
|
using ZR.Admin.WebApi.Filters;
|
||||||
using ZR.ServiceCore.Model;
|
using ZR.ServiceCore.Model;
|
||||||
@ -23,6 +24,8 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
{
|
{
|
||||||
_sysFileService = sysFileService;
|
_sysFileService = sysFileService;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static readonly Logger Logger = LogManager.GetCurrentClassLogger();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询文件存储列表
|
/// 查询文件存储列表
|
||||||
@ -129,5 +132,44 @@ namespace ZR.Admin.WebApi.Controllers
|
|||||||
return NoContent();
|
return NoContent();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 通过文件ID下载文件
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="fileId"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[HttpGet("download/{fileId}")]
|
||||||
|
public IActionResult Download([FromRoute] long fileId)
|
||||||
|
{
|
||||||
|
var sysFile = _sysFileService.Queryable().Where(it => it.Id == fileId).First();
|
||||||
|
if (sysFile == null)
|
||||||
|
{
|
||||||
|
throw new CustomException("服务器上不存在此文件");
|
||||||
|
}
|
||||||
|
|
||||||
|
Stream? stream;
|
||||||
|
switch ((StoreType)Enum.Parse(typeof(StoreType), sysFile.StoreType.ToString() ?? string.Empty))
|
||||||
|
{
|
||||||
|
case StoreType.LOCAL:
|
||||||
|
Logger.Info("本地存储");
|
||||||
|
stream = sysFile.IsEncrypted == "1" ? _sysFileService.DecryptSysFileStream(sysFile.FileUrl)
|
||||||
|
: new FileStream(sysFile.FileUrl, FileMode.Open);
|
||||||
|
break;
|
||||||
|
case StoreType.ALIYUN:
|
||||||
|
stream = AliyunOssHelper.DownloadFile(sysFile.FileUrl, "", sysFile.IsEncrypted == "1");
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
throw new CustomException("不支持的存储类型");
|
||||||
|
}
|
||||||
|
if (stream != null)
|
||||||
|
{
|
||||||
|
return new FileStreamResult(stream, "application/octet-stream")
|
||||||
|
{
|
||||||
|
FileDownloadName = sysFile.RealName
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
return NoContent();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -76,7 +76,7 @@ namespace ZR.Service
|
|||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
public SysUser SelectUserById(long userId)
|
public SysUser SelectUserById(long userId)
|
||||||
{
|
{
|
||||||
var user = Queryable().Filter(null, true).WithCache(60 * 5)
|
var user = Queryable().Filter(null, true)
|
||||||
.Where(f => f.UserId == userId).First();
|
.Where(f => f.UserId == userId).First();
|
||||||
if (user != null && user.UserId > 0)
|
if (user != null && user.UserId > 0)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user