AzureBlobModel.cs 5.8 KB

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