index.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. import createUploadManager from './upload';
  2. import { Observable } from './observable';
  3. import compressImage from './compress';
  4. import Logger from './logger';
  5. /**
  6. * @param file 上传文件
  7. * @param key 目标文件名
  8. * @param token 上传凭证
  9. * @param putExtra 上传文件的相关资源信息配置
  10. * @param config 上传任务的配置
  11. * @returns 返回用于上传任务的可观察对象
  12. */
  13. function upload(file, key, token, putExtra, config) {
  14. var options = {
  15. file: file,
  16. key: key,
  17. token: token,
  18. putExtra: putExtra,
  19. config: config
  20. };
  21. // 为每个任务创建单独的 Logger
  22. var logger = new Logger(token, config === null || config === void 0 ? void 0 : config.disableStatisticsReport, config === null || config === void 0 ? void 0 : config.debugLogLevel);
  23. return new Observable(function (observer) {
  24. var manager = createUploadManager(options, {
  25. onData: function (data) { return observer.next(data); },
  26. onError: function (err) { return observer.error(err); },
  27. onComplete: function (res) { return observer.complete(res); }
  28. }, logger);
  29. manager.putFile();
  30. return manager.stop.bind(manager);
  31. });
  32. }
  33. export { getHeadersForMkFile, getHeadersForChunkUpload } from './utils';
  34. export { urlSafeBase64Encode, urlSafeBase64Decode } from './base64';
  35. export { deleteUploadedChunks, getUploadUrl } from './api';
  36. export { imageMogr2, watermark, imageInfo, exif, pipeline } from './image';
  37. export { region } from './config';
  38. export { upload, compressImage };
  39. //# sourceMappingURL=index.js.map