YesPlayMusic/packages/web/api/yesplaymusic.ts

30 lines
741 B
TypeScript
Raw Normal View History

2022-03-19 17:03:29 +08:00
import axios, { AxiosInstance } from 'axios'
const baseURL = String(
import.meta.env.DEV ? '/yesplaymusic' : `http://127.0.0.1:42710/yesplaymusic`
)
const request: AxiosInstance = axios.create({
baseURL,
withCredentials: true,
timeout: 15000,
})
export async function cacheAudio(id: number, audio: string) {
const file = await axios.get(audio, { responseType: 'arraybuffer' })
2022-05-01 19:53:25 +08:00
if (file.status !== 200 && file.status !== 206) return
2022-03-19 17:03:29 +08:00
const formData = new FormData()
const blob = new Blob([file.data], { type: 'multipart/form-data' })
formData.append('file', blob)
request.post(`/audio/${id}`, formData, {
headers: {
'Content-Type': 'multipart/form-data',
},
params: {
url: audio,
},
})
}