fix: honor presign proxy upload URLs
This commit is contained in:
@@ -213,10 +213,13 @@ export function usePresignedUpload(options: UsePresignedUploadOptions = {}) {
|
||||
presignStatus.value = PRESIGN_UPLOAD_STATUS.UPLOADING
|
||||
|
||||
const progressHandler = createProgressHandler(options?.onProgress)
|
||||
const uploadUrl =
|
||||
session.proxy_upload_url || session.upload_url || session.legacy_proxy_upload_url
|
||||
const response = await PresignUploadService.proxyUpload(
|
||||
session.upload_id,
|
||||
file,
|
||||
progressHandler
|
||||
progressHandler,
|
||||
uploadUrl
|
||||
)
|
||||
|
||||
if (response.code === 200 && response.detail?.code) {
|
||||
|
||||
@@ -19,12 +19,17 @@ export class PresignUploadService {
|
||||
static async proxyUpload(
|
||||
uploadId: string,
|
||||
file: File,
|
||||
onProgress?: (progress: UploadProgress) => void
|
||||
onProgress?: (progress: UploadProgress) => void,
|
||||
uploadUrl?: string
|
||||
): Promise<ApiResponse<PresignUploadResult>> {
|
||||
const formData = new FormData()
|
||||
formData.append('file', file)
|
||||
|
||||
return api.put(`/presign/upload/proxy/${uploadId}`, formData, multipartUploadConfig(onProgress))
|
||||
return api.put(
|
||||
uploadUrl || `/presign/upload/proxy/${uploadId}`,
|
||||
formData,
|
||||
multipartUploadConfig(onProgress)
|
||||
)
|
||||
}
|
||||
|
||||
static async confirmUpload(
|
||||
|
||||
@@ -22,6 +22,8 @@ export interface PresignInitRequest {
|
||||
export interface PresignInitResponse {
|
||||
upload_id: string
|
||||
upload_url: string
|
||||
proxy_upload_url?: string
|
||||
legacy_proxy_upload_url?: string
|
||||
mode: PresignUploadMode
|
||||
expires_in: number
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user