You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

104 lines
3.9 KiB

  1. using Learun.Util;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Web;
  5. namespace Learun.Application.Base.SystemModule
  6. {
  7. /// <summary>
  8. /// 版 本 Learun-ADMS-Ultimate V7.0.0 数字化智慧校园
  9. /// Copyright (c) 2013-2018 北京泉江科技有限公司
  10. /// 创建人:陈彬彬
  11. /// 日 期:2017.03.08
  12. /// 描 述:附件管理
  13. /// </summary>
  14. public interface AnnexesFileIBLL
  15. {
  16. #region 获取数据
  17. /// <summary>
  18. /// 获取实体列表
  19. /// </summary>
  20. /// <param name="keyValue">附件夹主键</param>
  21. /// <returns></returns>
  22. IEnumerable<AnnexesFileEntity> GetList(string keyValue);
  23. /// <summary>
  24. /// 获取附件名称集合
  25. /// </summary>
  26. /// <param name="keyValue">主键值</param>
  27. /// <returns></returns>
  28. string GetFileNames(string keyValue);
  29. /// <summary>
  30. /// 获取附件实体
  31. /// </summary>
  32. /// <param name="keyValue">主键</param>
  33. /// <returns></returns>
  34. AnnexesFileEntity GetEntity(string keyValue);
  35. AnnexesFileEntity GetEntityByFolderId(string folderId);
  36. #endregion
  37. #region 提交数据
  38. /// <summary>
  39. /// 保存数据实体
  40. /// </summary>
  41. /// <param name="folderId">附件夹主键</param>
  42. /// <param name="annexesFileEntity">附件实体数据</param>
  43. void SaveEntity(string folderId, AnnexesFileEntity annexesFileEntity);
  44. /// <summary>
  45. /// 删除附件
  46. /// </summary>
  47. /// <param name="fileId">文件主键</param>
  48. void DeleteEntity(string fileId);
  49. #endregion
  50. #region 扩展方法
  51. /// <summary>
  52. /// 保存附件(支持大文件分片传输)
  53. /// </summary>
  54. /// <param name="folderId">附件夹主键</param>
  55. /// <param name="fileGuid">文件主键</param>
  56. /// <param name="fileName">文件名称</param>
  57. /// <param name="chunks">文件总共分多少片</param>
  58. /// <param name="fileStream">文件二进制流</param>
  59. /// <param name="userInfo"></param>
  60. /// <param name="filePath"></param>
  61. bool SaveAnnexes(string folderId, string fileGuid, string fileName, int chunks, UserInfo userInfo, string filePath = "");
  62. /// <summary>
  63. /// 保存附件(支持大文件分片传输)
  64. /// </summary>
  65. /// <param name="fileGuid">文件主键</param>
  66. /// <param name="fileName">文件名称</param>
  67. /// <param name="chunks">文件总共分多少片</param>
  68. /// <param name="fileStream">文件二进制流</param>
  69. /// <returns></returns>
  70. string SaveAnnexes(string fileGuid, string fileName, int chunks, UserInfo userInfo);
  71. /// <summary>
  72. /// 保存附件到文件中
  73. /// </summary>
  74. /// <param name="fileGuid">文件主键</param>
  75. /// <param name="filePath">文件路径</param>
  76. /// <param name="chunks">总共分片数</param>
  77. /// <param name="buffer">文件二进制流</param>
  78. /// <returns></returns>
  79. long SaveAnnexesToFile(string fileGuid, string filePath, int chunks);
  80. /// <summary>
  81. /// 保存分片附件
  82. /// </summary>
  83. /// <param name="fileGuid">文件主键</param>
  84. /// <param name="chunk">分片文件序号</param>
  85. /// <param name="fileStream">文件流</param>
  86. void SaveChunkAnnexes(string fileGuid, int chunk, Stream fileStream);
  87. string SaveAnnexesInfo(HttpPostedFileBase Filedata);
  88. /// <summary>
  89. /// 移除文件分片数据
  90. /// </summary>
  91. /// <param name="fileGuid">文件主键</param>
  92. /// <param name="chunks">文件分片数</param>
  93. void RemoveChunkAnnexes(string fileGuid, int chunks);
  94. #endregion
  95. void SaveEntityByKey(string fId, AnnexesFileEntity annexesFileEntity);
  96. }
  97. }