85 lines
2.5 KiB
TypeScript
85 lines
2.5 KiB
TypeScript
import req from './http/request'
|
|
|
|
// 上传图片到 MinIO
|
|
export const uploadImageToMinio = async (
|
|
file: File,
|
|
businessType: string,
|
|
fileName: string,
|
|
originalId?: string
|
|
) => {
|
|
const form = new FormData()
|
|
form.append('file', file)
|
|
form.append('businessType', businessType)
|
|
form.append('fileName', fileName)
|
|
if (originalId) form.append('originalId', String(originalId))
|
|
return await req.post('/api/v1/file/upload/image', form, {
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|
})
|
|
}
|
|
|
|
// 删除图片(按文件名)
|
|
export const deleteImageFromMinio = async (
|
|
fileName: string,
|
|
originalId?: string
|
|
) => {
|
|
return await req.delete('/api/v1/file/image', {
|
|
data: { fileName, originalId }
|
|
})
|
|
}
|
|
|
|
// 覆盖更新图片内容
|
|
export const updateImageInMinio = async (
|
|
fileName: string,
|
|
businessType: string,
|
|
file: File,
|
|
originalId?: string
|
|
) => {
|
|
const form = new FormData()
|
|
form.append('fileName', fileName)
|
|
form.append('businessType', businessType)
|
|
form.append('file', file)
|
|
if (originalId) form.append('originalId', String(originalId))
|
|
return await req.put('/api/v1/file/image', form, {
|
|
headers: { 'Content-Type': 'multipart/form-data' }
|
|
})
|
|
}
|
|
|
|
// 获取图片可访问URL
|
|
export const getImageUrlFromMinio = async (
|
|
fileName: string,
|
|
businessType: string
|
|
) => {
|
|
return await req.get('/api/v1/file/image/url', {
|
|
params: {
|
|
fileName,
|
|
businessType
|
|
}
|
|
})
|
|
}
|
|
|
|
/*
|
|
* @Author: gejia 905034981@qq.com
|
|
* @Date: 2024-03-30 14:06:44
|
|
* @LastEditors: gejia 905034981@qq.com
|
|
* @LastEditTime: 2024-11-07 13:36:40
|
|
* @FilePath: \redfly-web\src\api\media.ts
|
|
* @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE
|
|
*/
|
|
import request, { IPage, IWorkspaceResponse } from './http/request';
|
|
import type { IfileParams } from './d.ts/media'
|
|
const HTTP_PREFIX = '/media/api/v1';
|
|
|
|
|
|
//获取文件列表
|
|
export const getFileList = async function (wid: string, pagination: IPage, params: IfileParams): Promise<IWorkspaceResponse<any>> {
|
|
const url = `${HTTP_PREFIX}/files/${wid}/files/getFilePage?page=${pagination.page}&page_size=${pagination.page_size}`;
|
|
// const result = await request.get(url)
|
|
return request.get(url, { params });
|
|
};
|
|
|
|
//修改文件相应的参数
|
|
export const updateFile = async function (wid: string, id: string, params: IfileParams): Promise<IWorkspaceResponse<any>> {
|
|
const url = `${HTTP_PREFIX}/files/${wid}/files/updateFile/${id}`;
|
|
return request.put(url, params);
|
|
};
|