Joey / src /utils /static.ts
yuanjiajun
feat: 静态服务
f4d13e9
import axios from 'axios';
const BASE_URL = "https://joey7938-stt.hf.space"
// 定义响应类型
interface FileNameListResponse {
files: string[];
}
interface FileUploadResponse {
message: string;
}
interface FileDeleteResponse {
message: string;
}
// 获取文件名列表
async function getFileNameList(): Promise<FileNameListResponse> {
try {
const response = await axios.get<FileNameListResponse>(`${BASE_URL}/file/getFileNameList`);
return response.data;
} catch (error: any) {
throw new Error(error.response?.data?.error);
}
}
// 上传文件
async function uploadFile(buffer: Buffer, fileName: string): Promise<FileUploadResponse> {
try {
const response = await axios.post<FileUploadResponse>(`${BASE_URL}/file/uploadFile`, buffer, {
headers: {
'Content-Type': 'application/octet-stream',
'Content-Disposition': `attachment; filename=${fileName}`,
},
});
return response.data;
} catch (error: any) {
throw new Error(error.response?.data?.error);
}
}
// 删除文件
async function deleteFile(fileName: string): Promise<FileDeleteResponse> {
try {
const response = await axios.post<FileDeleteResponse>(`${BASE_URL}/file/deleteFile`, { fileName });
return response.data;
} catch (error: any) {
throw new Error(error.response?.data?.error);
}
}
export { getFileNameList, uploadFile, deleteFile };