index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. "use strict";
  2. var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
  3. var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
  4. _Object$defineProperty(exports, "__esModule", {
  5. value: true
  6. });
  7. exports.upload = upload;
  8. _Object$defineProperty(exports, "compressImage", {
  9. enumerable: true,
  10. get: function get() {
  11. return _compress["default"];
  12. }
  13. });
  14. _Object$defineProperty(exports, "getHeadersForMkFile", {
  15. enumerable: true,
  16. get: function get() {
  17. return _utils.getHeadersForMkFile;
  18. }
  19. });
  20. _Object$defineProperty(exports, "getHeadersForChunkUpload", {
  21. enumerable: true,
  22. get: function get() {
  23. return _utils.getHeadersForChunkUpload;
  24. }
  25. });
  26. _Object$defineProperty(exports, "urlSafeBase64Encode", {
  27. enumerable: true,
  28. get: function get() {
  29. return _base.urlSafeBase64Encode;
  30. }
  31. });
  32. _Object$defineProperty(exports, "urlSafeBase64Decode", {
  33. enumerable: true,
  34. get: function get() {
  35. return _base.urlSafeBase64Decode;
  36. }
  37. });
  38. _Object$defineProperty(exports, "deleteUploadedChunks", {
  39. enumerable: true,
  40. get: function get() {
  41. return _api.deleteUploadedChunks;
  42. }
  43. });
  44. _Object$defineProperty(exports, "getUploadUrl", {
  45. enumerable: true,
  46. get: function get() {
  47. return _api.getUploadUrl;
  48. }
  49. });
  50. _Object$defineProperty(exports, "imageMogr2", {
  51. enumerable: true,
  52. get: function get() {
  53. return _image.imageMogr2;
  54. }
  55. });
  56. _Object$defineProperty(exports, "watermark", {
  57. enumerable: true,
  58. get: function get() {
  59. return _image.watermark;
  60. }
  61. });
  62. _Object$defineProperty(exports, "imageInfo", {
  63. enumerable: true,
  64. get: function get() {
  65. return _image.imageInfo;
  66. }
  67. });
  68. _Object$defineProperty(exports, "exif", {
  69. enumerable: true,
  70. get: function get() {
  71. return _image.exif;
  72. }
  73. });
  74. _Object$defineProperty(exports, "pipeline", {
  75. enumerable: true,
  76. get: function get() {
  77. return _image.pipeline;
  78. }
  79. });
  80. _Object$defineProperty(exports, "region", {
  81. enumerable: true,
  82. get: function get() {
  83. return _config.region;
  84. }
  85. });
  86. var _upload = _interopRequireDefault(require("./upload"));
  87. var _observable = require("./observable");
  88. var _compress = _interopRequireDefault(require("./compress"));
  89. var _logger = _interopRequireDefault(require("./logger"));
  90. var _utils = require("./utils");
  91. var _base = require("./base64");
  92. var _api = require("./api");
  93. var _image = require("./image");
  94. var _config = require("./config");
  95. /**
  96. * @param file 上传文件
  97. * @param key 目标文件名
  98. * @param token 上传凭证
  99. * @param putExtra 上传文件的相关资源信息配置
  100. * @param config 上传任务的配置
  101. * @returns 返回用于上传任务的可观察对象
  102. */
  103. function upload(file, key, token, putExtra, config) {
  104. var options = {
  105. file: file,
  106. key: key,
  107. token: token,
  108. putExtra: putExtra,
  109. config: config
  110. }; // 为每个任务创建单独的 Logger
  111. var logger = new _logger["default"](token, config === null || config === void 0 ? void 0 : config.disableStatisticsReport, config === null || config === void 0 ? void 0 : config.debugLogLevel);
  112. return new _observable.Observable(function (observer) {
  113. var manager = (0, _upload["default"])(options, {
  114. onData: function onData(data) {
  115. return observer.next(data);
  116. },
  117. onError: function onError(err) {
  118. return observer.error(err);
  119. },
  120. onComplete: function onComplete(res) {
  121. return observer.complete(res);
  122. }
  123. }, logger);
  124. manager.putFile();
  125. return manager.stop.bind(manager);
  126. });
  127. }