file.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. import config from '@/utils/config';
  2. import {
  3. getAccessToken,
  4. } from "@/utils/auth.js"
  5. import request from '@/utils/request';
  6. // 上传文件
  7. export function uploadFile(file, directory) {
  8. uni.showLoading({
  9. title: '上传中',
  10. });
  11. return new Promise((resolve, reject) => {
  12. uni.uploadFile({
  13. url: config.default.apiUrl + config.default.apiUrlSuffix + '/infra/file/upload',
  14. filePath: file,
  15. name: 'file',
  16. header: {
  17. Accept: '*/*',
  18. 'tenant-id': tenantId,
  19. Authorization: 'Bearer ' + getAccessToken(),
  20. },
  21. formData: {
  22. directory,
  23. },
  24. success: (uploadFileRes) => {
  25. let result = JSON.parse(uploadFileRes.data);
  26. if (result.error === 1) {
  27. uni.showToast({
  28. icon: 'none',
  29. title: result.msg,
  30. });
  31. } else {
  32. return resolve(result);
  33. }
  34. },
  35. fail: (error) => {
  36. console.log('上传失败:', error);
  37. return resolve(false);
  38. },
  39. complete: () => {
  40. uni.hideLoading();
  41. },
  42. });
  43. });
  44. }
  45. // 获取文件预签名地址
  46. export function getFilePresignedUrl(name, directory) {
  47. return request({
  48. url: '/infra/file/presigned-url',
  49. method: 'GET',
  50. params: {
  51. name,
  52. directory,
  53. },
  54. });
  55. }
  56. // 创建文件
  57. export function createFile(data) {
  58. return request({
  59. url: '/infra/file/create', // 请求的 URL
  60. method: 'POST', // 请求方法
  61. data: data, // 要发送的数据
  62. });
  63. }