upload_cdn.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. /*
  2. * @Descripttion: 上传文件到cdn服务器
  3. * @Author: Zhong
  4. * @Date: 2019-12-31 15:38:44
  5. */
  6. const UPLOAD_CDN = (() => {
  7. const config = {
  8. useCdnDomain: true,
  9. disableStatisticsReport: false,
  10. retryCount: 6,
  11. region: qiniu.region.z2
  12. };
  13. // 上传
  14. function upload(file, key, token, callback, errCallback) {
  15. const putExtra = {
  16. fname: "",
  17. params: {"x:name":key.split(".")[0]},
  18. mimeType: null
  19. };
  20. const observable = qiniu.upload(file, key, token, putExtra, config);
  21. observable.subscribe({
  22. error:function (err) {
  23. console.log(err);
  24. if (errCallback) {
  25. errCallback(err);
  26. }
  27. },
  28. complete:function(res){
  29. if (callback) {
  30. callback(res);
  31. }
  32. }
  33. })
  34. }
  35. // 同步上传
  36. function uploadSync(file, key, token) {
  37. return new Promise((resolve, reject) => {
  38. const putExtra = {
  39. fname: "",
  40. params: {"x:name":key.split(".")[0]},
  41. mimeType: null
  42. };
  43. const observable = qiniu.upload(file, key, token, putExtra, config);
  44. observable.subscribe({
  45. error:function (err) {
  46. reject(err);
  47. },
  48. complete:function(res){
  49. resolve(res);
  50. }
  51. })
  52. });
  53. }
  54. return {
  55. upload,
  56. uploadSync,
  57. };
  58. })();