ListMultiUploadsRequest.cs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using COSXML.Common;
  5. namespace COSXML.Model.Bucket
  6. {
  7. /// <summary>
  8. /// 查询 Bucket 正在进行中的分块上传
  9. /// <see href="https://cloud.tencent.com/document/product/436/7736"/>
  10. /// </summary>
  11. public sealed class ListMultiUploadsRequest : BucketRequest
  12. {
  13. public ListMultiUploadsRequest(string bucket)
  14. : base(bucket)
  15. {
  16. this.bucket = bucket;
  17. this.method = CosRequestMethod.GET;
  18. this.queryParameters.Add("uploads", null);
  19. }
  20. /// <summary>
  21. /// 定界符为一个符号,
  22. /// 对 Object 名字包含指定前缀且第一次出现 delimiter 字符之间的 Object 作为一组元素:common prefix。
  23. /// 如果没有 prefix,则从路径起点开始
  24. /// </summary>
  25. /// <param name="delimiter"></param>
  26. public void SetDelimiter(string delimiter)
  27. {
  28. if (delimiter != null)
  29. {
  30. SetQueryParameter("delimiter", delimiter);
  31. }
  32. }
  33. /// <summary>
  34. /// 规定返回值的编码格式,合法值:url
  35. /// </summary>
  36. /// <param name="encodingType"></param>
  37. public void SetEncodingType(string encodingType)
  38. {
  39. if (encodingType != null)
  40. {
  41. SetQueryParameter("Encoding-type", encodingType);
  42. }
  43. }
  44. /// <summary>
  45. /// 与 upload-id-marker 一起使用.
  46. /// 当 upload-id-marker 未被指定时,ObjectName 字母顺序大于 key-marker 的条目将被列出.
  47. /// 当upload-id-marker被指定时,ObjectName 字母顺序大于key-marker的条目被列出,
  48. /// ObjectName 字母顺序等于 key-marker 同时 UploadID 大于 upload-id-marker 的条目将被列出。
  49. /// </summary>
  50. /// <param name="keyMarker"></param>
  51. public void SetKeyMarker(string keyMarker)
  52. {
  53. if (keyMarker != null)
  54. {
  55. SetQueryParameter("key-marker", keyMarker);
  56. }
  57. }
  58. /// <summary>
  59. /// 设置最大返回的 multipart 数量,合法取值从1到1000,默认1000
  60. /// </summary>
  61. /// <param name="maxUploads"></param>
  62. public void SetMaxUploads(string maxUploads)
  63. {
  64. if (maxUploads != null)
  65. {
  66. SetQueryParameter("max-uploads", maxUploads);
  67. }
  68. }
  69. /// <summary>
  70. /// 限定返回的 Object key 必须以 Prefix 作为前缀。
  71. /// 注意使用 prefix 查询时,返回的 key 中仍会包含 Prefix
  72. /// </summary>
  73. /// <param name="prefix"></param>
  74. public void SetPrefix(string prefix)
  75. {
  76. if (prefix != null)
  77. {
  78. SetQueryParameter("Prefix", prefix);
  79. }
  80. }
  81. /// <summary>
  82. /// 与 key-marker 一起使用.
  83. /// 当 key-marker 未被指定时,upload-id-marker 将被忽略.
  84. /// 当 key-marker 被指定时,ObjectName字母顺序大于 key-marker 的条目被列出,
  85. /// ObjectName 字母顺序等于 key-marker 同时 UploadID 大于 upload-id-marker 的条目将被列出.
  86. /// </summary>
  87. /// <param name="uploadIdMarker"></param>
  88. public void SetUploadIdMarker(string uploadIdMarker)
  89. {
  90. if (uploadIdMarker != null)
  91. {
  92. SetQueryParameter("upload-id-marker", uploadIdMarker);
  93. }
  94. }
  95. }
  96. }