oss.js 957 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. import request from '@/utils/request';
  2. const BASE_URL = 'http://127.0.0.1:8080';
  3. const CLIENT_ID = 'e48ac397bff4f031b14d6e671eee49c3';
  4. /**
  5. * 上传文件至OSS
  6. * @param {string} filePath 本地临时文件路径
  7. * @returns {Promise} 解析结果含 { ossId, url, fileName }
  8. */
  9. export function uploadFile(filePath) {
  10. return new Promise((resolve, reject) => {
  11. const token = uni.getStorageSync('token') || '';
  12. uni.uploadFile({
  13. url: BASE_URL + '/resource/oss/upload',
  14. filePath,
  15. name: 'file',
  16. header: {
  17. clientid: CLIENT_ID,
  18. Authorization: 'Bearer ' + token
  19. },
  20. success(res) {
  21. try {
  22. const result = JSON.parse(res.data);
  23. if (result.code === 200) {
  24. resolve(result.data);
  25. } else {
  26. reject(new Error(result.msg || '上传失败'));
  27. }
  28. } catch (e) {
  29. reject(new Error('响应解析失败'));
  30. }
  31. },
  32. fail(err) {
  33. reject(new Error(err.errMsg || '上传失败'));
  34. }
  35. });
  36. });
  37. }