wip: create course generate
This commit is contained in:
16
composables/useDownload.ts
Normal file
16
composables/useDownload.ts
Normal file
@@ -0,0 +1,16 @@
|
||||
export const useDownload = (url: string, filename: string) => {
|
||||
const download = () => {
|
||||
fetch(url)
|
||||
.then((response) => response.blob())
|
||||
.then((blob) => {
|
||||
const url = window.URL.createObjectURL(new Blob([blob]))
|
||||
const link = document.createElement('a')
|
||||
link.href = url
|
||||
link.setAttribute('download', filename)
|
||||
document.body.appendChild(link)
|
||||
link.click()
|
||||
link.parentNode?.removeChild(link)
|
||||
})
|
||||
}
|
||||
return { download }
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
import {useFetchWrapped} from '~/composables/useFetchWrapped';
|
||||
import { useFetchWrapped } from '~/composables/useFetchWrapped'
|
||||
|
||||
const putOSS = (file: File, signed_url: string) => new Promise<void>((resolve, reject) => {
|
||||
let xhr = new XMLHttpRequest()
|
||||
@@ -16,17 +16,17 @@ const putOSS = (file: File, signed_url: string) => new Promise<void>((resolve, r
|
||||
})
|
||||
|
||||
export const useFileGo = (file: File) => new Promise<string>((resolve, reject) => {
|
||||
useFetchWrapped<req.file.Upload & AuthedRequest, string>('App.Tools_Upload.GoOss', {
|
||||
useFetchWrapped<req.file.Upload & AuthedRequest, BaseResponse<string>>('App.Tools_Upload.UploadOssMaterial', {
|
||||
token: useLoginState().token!,
|
||||
user_id: useLoginState().user.id,
|
||||
file_name: file.name,
|
||||
file_type: file.type,
|
||||
file_size: file.size,
|
||||
}).then(async res => {
|
||||
if (res !== '') {
|
||||
if (res.data !== '') {
|
||||
try {
|
||||
await putOSS(file, res)
|
||||
let url = res.split('?')[0]
|
||||
await putOSS(file, res.data)
|
||||
let url = res.data.split('?')[0]
|
||||
resolve(url)
|
||||
} catch (err) {
|
||||
reject(err)
|
||||
|
||||
Reference in New Issue
Block a user