AzureBlobModel.cs 5.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141
  1. 
  2. using Microsoft.AspNetCore.Http;
  3. using Microsoft.Azure.Cosmos.Table;
  4. using System;
  5. using System.ComponentModel.DataAnnotations;
  6. using System.IO;
  7. using TEAMModelOS.SDK.Helper.Common.DateTimeHelper;
  8. namespace TEAMModelOS.SDK.Module.AzureBlob.Container
  9. {
  10. public class AzureBlobModel : TableEntity
  11. {
  12. public AzureBlobModel()
  13. {
  14. long time = DateTime.Now.ToUniversalTime().Ticks - 621355968000000000;
  15. Timestamp = DateTimeHelper.ConvertToDateTime(time);
  16. }
  17. public AzureBlobModel(IFormFile f, string Container ,string groupName ,string newName)
  18. {
  19. long time= DateTime.Now.ToUniversalTime().Ticks - 621355968000000000;
  20. ContentType = f.ContentType;
  21. ContentDisposition = f.ContentDisposition;
  22. FileName = f.FileName;
  23. // Headers = f.Headers.Values;
  24. RealName = groupName + "/"+ newName;
  25. Folder = groupName;
  26. Length = f.Length;
  27. Name = f.Name;
  28. UploadTime = time;
  29. PartitionKey = Container;
  30. RowKey = Guid.NewGuid().ToString();
  31. Extension = f.FileName.Substring(f.FileName.LastIndexOf(".") + 1, (f.FileName.Length - f.FileName.LastIndexOf(".") - 1)); //扩展名
  32. Timestamp = DateTimeHelper.ConvertToDateTime(time);
  33. }
  34. public AzureBlobModel(FileInfo f, string Container, string groupName, string newName ,string contentType)
  35. {
  36. long time = DateTime.Now.ToUniversalTime().Ticks - 621355968000000000;
  37. ContentType = contentType;
  38. ContentDisposition = "form-data; name=\"file\"; filename=\"" + f.Name + "\"";
  39. FileName = f.Name;
  40. // Headers = f.Headers.Values;
  41. RealName = groupName + "/" + newName;
  42. Folder = groupName;
  43. Length = f.Length;
  44. Name = "file";
  45. UploadTime = time;
  46. PartitionKey = Container;
  47. RowKey = Guid.NewGuid().ToString();
  48. Extension = f.Name.Substring(f.Name.LastIndexOf(".") + 1, (f.Name.Length - f.Name.LastIndexOf(".") - 1)); //扩展名
  49. Timestamp = DateTimeHelper.ConvertToDateTime(time);
  50. }
  51. public AzureBlobModel(string fileName, string Container, string groupName, string newName, string contentType ,long length)
  52. {
  53. long time = DateTime.Now.ToUniversalTime().Ticks - 621355968000000000;
  54. ContentType = contentType;
  55. ContentDisposition = "form-data; name=\"file\"; filename=\"" + fileName + "\"";
  56. FileName = fileName;
  57. // Headers = f.Headers.Values;
  58. RealName = groupName + "/" + newName;
  59. Folder = groupName;
  60. Length = length;
  61. Name = "file";
  62. UploadTime = time;
  63. PartitionKey = Container;
  64. RowKey = Guid.NewGuid().ToString();
  65. Extension = fileName.Substring(fileName.LastIndexOf(".") + 1, (fileName.Length - fileName.LastIndexOf(".") - 1)); //扩展名
  66. Timestamp = DateTimeHelper.ConvertToDateTime(time);
  67. }
  68. public AzureBlobModel(string fileName, string Container, string groupName, string newName,string sha1Code, string contentType, long length)
  69. {
  70. long time = DateTime.Now.ToUniversalTime().Ticks - 621355968000000000;
  71. ContentType = contentType;
  72. ContentDisposition = "form-data; name=\"file\"; filename=\"" + fileName + "\"";
  73. FileName = fileName;
  74. // Headers = f.Headers.Values;
  75. Sha1Code = sha1Code;
  76. RealName = groupName + "/" + newName;
  77. Folder = groupName;
  78. Length = length;
  79. Name = "file";
  80. UploadTime = time;
  81. PartitionKey = Container;
  82. RowKey = Guid.NewGuid().ToString();
  83. Extension = fileName.Substring(fileName.LastIndexOf(".") + 1, (fileName.Length - fileName.LastIndexOf(".") - 1)); //扩展名
  84. Timestamp = DateTimeHelper.ConvertToDateTime(time);
  85. }
  86. [Required(ErrorMessage = "{0} 必须填写")]
  87. public string Folder { get; set; }
  88. [Required(ErrorMessage = "{0} 必须填写")]
  89. public string Sha1Code { get; set; }
  90. //
  91. // 摘要:
  92. // Gets the raw Content-Type header of the uploaded file.
  93. [Required(ErrorMessage = "{0} 必须填写")]
  94. public string BlobUrl { get; set; }
  95. //
  96. // 摘要:
  97. // Gets the raw Content-Type header of the uploaded file.
  98. [Required(ErrorMessage = "{0} 必须填写")]
  99. public string ContentType { get; set; }
  100. //
  101. // 摘要:
  102. // Gets the raw Content-Disposition header of the uploaded file.
  103. [Required(ErrorMessage = "{0} 必须填写")]
  104. public string ContentDisposition { get; set; }
  105. //
  106. // 摘要:
  107. // Gets the header dictionary of the uploaded file.
  108. // public IHeaderDictionary Headers { get; set; }
  109. //
  110. // 摘要:
  111. // Gets the file length in bytes.
  112. [Required(ErrorMessage = "{0} 必须填写")]
  113. public long Length { get; set; }
  114. //
  115. // 摘要:
  116. // Gets the form field name from the Content-Disposition header.
  117. [Required(ErrorMessage = "{0} 必须填写")]
  118. public string Name { get; set; }
  119. //
  120. // 摘要:
  121. // Gets the file name from the Content-Disposition header.
  122. [Required(ErrorMessage = "{0} 必须填写")]
  123. public string FileName { get; set; }
  124. [Required(ErrorMessage = "{0} 必须填写")]
  125. public string RealName { get; set; }
  126. //上传时间戳
  127. [Required(ErrorMessage = "{0} 必须填写")]
  128. public long UploadTime { get; set; }
  129. //上传扩展文件
  130. [Required(ErrorMessage = "{0} 必须填写")]
  131. public string Extension { get; set; }
  132. }
  133. }