fileController.ts 2.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import { fileHttpUtils } from "../utils/http/fileHttpUtils";
  2. import { toolUtils } from "@/utils/toolUtils";
  3. export default class FileController {
  4. static http = new fileHttpUtils();
  5. /**
  6. * 上传文件
  7. * @param params 格式如下:
  8. * {
  9. * uploadProgressCall 上传进度回调函数,函数参数为object,格式如下:{uploadedTotal:1},uploadedTotal总共上传了多少字节,是所有文件上传的字节数总和
  10. * oneUploadedCall 每上传完一个后的回调函数,函数参数为object,格式如下:{fileName:'文件名称'}
  11. * userId:'不传时,默认会取vuex中user.id',
  12. * files 数组或者object,示例
  13. * {
  14. * groupCode:'不传时,默认会取vuex中selectProject.groupCode',
  15. * projectId:'不传时,默认会取vuex中selectProject.id',
  16. * fileName:'文件名称',
  17. * fileBucket:'存储空间名称,可以不传',
  18. * file:文件信息,假设有一个input type为file id为txtFile的标签,那么file为document.getElementById('txtFile').files[0]
  19. * }
  20. * }
  21. */
  22. static async uploadFiles(params) {
  23. return await this.http.uploadFiles(params);
  24. }
  25. /**
  26. * 根据文件ID获取图片的预览地址
  27. * @param fileId 文件ID
  28. */
  29. static getImgViewUrl(fileId: string) {
  30. var viewUrl = toolUtils.getBaseHttpUrl((window as any).__systemConf.imgServiceUrl, '/common/image_get');
  31. return viewUrl + '?systemId=dev&key=' + fileId;
  32. };
  33. /**
  34. * 根据文件ID获取文件(包括图片)的下载地址
  35. * @param _paramobj 格式如下:
  36. * {
  37. * fileId:'文件ID',
  38. * userId:'用户ID,不传时将取vuex中的user.id',
  39. * groupCode:'集团编码,不传时将取vuex中的selectProject.groupCode',
  40. * projectId:'项目ID,不传时将取vuex中的selectProject.id',
  41. * appId:'应用ID,暂时没用',
  42. * }
  43. */
  44. static async getFileDownUrl(_paramobj: any) {
  45. return await this.http.postRequest('file/initFileDownload', _paramobj);
  46. };
  47. }