ISysFileService.cs 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using Infrastructure.Attribute;
  2. using Microsoft.AspNetCore.Http;
  3. using System.Threading.Tasks;
  4. using ZR.Model.Models;
  5. using ZR.Model.System;
  6. namespace ZR.Service.System.IService
  7. {
  8. public interface ISysFileService : IBaseService<SysFile>
  9. {
  10. Task<long> InsertFile(SysFile file);
  11. /// <summary>
  12. /// 上传文件
  13. /// </summary>
  14. /// <param name="fileDir">存储文件夹</param>
  15. /// <param name="rootPath">存储根目录</param>
  16. /// <param name="fileName">自定文件名</param>
  17. /// <param name="formFile">上传的文件流</param>
  18. /// <param name="userName"></param>
  19. /// <returns>文件对象</returns>
  20. Task<SysFile> SaveFileToLocal(string rootPath, string fileName, string fileDir, string userName, IFormFile formFile);
  21. Task<SysFile> SaveFileToLocalNoDateDir(string rootPath, string fileName, string fileDir, string userName, IFormFile formFile);
  22. Task<SysFile> SaveFileToAliyun(SysFile file, IFormFile formFile);
  23. /// <summary>
  24. /// 按时间来创建文件夹
  25. /// </summary>
  26. /// <param name="path"></param>
  27. /// <param name="byTimeStore"></param>
  28. /// <returns>eg: 2020/11/3</returns>
  29. string GetdirPath(string path = "", bool byTimeStore = true);
  30. /// <summary>
  31. /// 取文件名的MD5值(16位)
  32. /// </summary>
  33. /// <param name="str">文件名,不包括扩展名</param>
  34. /// <returns></returns>
  35. string HashFileName(string str = null);
  36. }
  37. }