File size: 1,401 Bytes
9de72d6
 
f4d13e9
9de72d6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
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 };