Initial commit
This commit is contained in:
84
src/api/media.ts
Normal file
84
src/api/media.ts
Normal file
@@ -0,0 +1,84 @@
|
||||
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);
|
||||
};
|
||||
Reference in New Issue
Block a user