import { fileHttpUtils } from "../utils/http/fileHttpUtils"; import { toolUtils } from "@/utils/toolUtils"; export default class FileController { static http = new fileHttpUtils(); /** * 上传文件 * @param params 格式如下: * { * uploadProgressCall 上传进度回调函数,函数参数为object,格式如下:{uploadedTotal:1},uploadedTotal总共上传了多少字节,是所有文件上传的字节数总和 * oneUploadedCall 每上传完一个后的回调函数,函数参数为object,格式如下:{fileName:'文件名称'} * userId:'不传时,默认会取vuex中user.id', * files 数组或者object,示例 * { * groupCode:'不传时,默认会取vuex中selectProject.groupCode', * projectId:'不传时,默认会取vuex中selectProject.id', * fileName:'文件名称', * fileBucket:'存储空间名称,可以不传', * file:文件信息,假设有一个input type为file id为txtFile的标签,那么file为document.getElementById('txtFile').files[0] * } * } */ static async uploadFiles(params) { return await this.http.uploadFiles(params); } /** * 根据文件ID获取图片的预览地址 * @param fileId 文件ID */ static getImgViewUrl(fileId: string) { var viewUrl = toolUtils.getBaseHttpUrl((window as any).__systemConf.imgServiceUrl, '/common/image_get'); return viewUrl + '?systemId=dev&key=' + fileId; }; /** * 根据文件ID获取文件(包括图片)的下载地址 * @param _paramobj 格式如下: * { * fileId:'文件ID', * userId:'用户ID,不传时将取vuex中的user.id', * groupCode:'集团编码,不传时将取vuex中的selectProject.groupCode', * projectId:'项目ID,不传时将取vuex中的selectProject.id', * appId:'应用ID,暂时没用', * } */ static async getFileDownUrl(_paramobj: any) { return await this.http.postRequest('file/initFileDownload', _paramobj); }; }