added new fetchUploadURLSeparately funtion
This commit is contained in:
parent
35e0b2d157
commit
fa75a83a7a
|
@ -473,6 +473,7 @@ class UploadService {
|
|||
private async uploadToBucket(file: ProcessedFile): Promise<BackupedFile> {
|
||||
try {
|
||||
let fileObjectKey, thumbnailObjectKey;
|
||||
const uploadURLs = await this.fetchUploadURLSeparately();
|
||||
if (isDataStream(file.file.encryptedData)) {
|
||||
const { chunkCount, stream } = file.file.encryptedData;
|
||||
const uploadPartCount = Math.ceil(
|
||||
|
@ -488,14 +489,14 @@ class UploadService {
|
|||
uploadPartCount
|
||||
);
|
||||
} else {
|
||||
const fileUploadURL = await this.getUploadURL();
|
||||
const fileUploadURL = uploadURLs.pop();
|
||||
fileObjectKey = await this.putFile(
|
||||
fileUploadURL,
|
||||
file.file.encryptedData,
|
||||
file.filename
|
||||
);
|
||||
}
|
||||
const thumbnailUploadURL = await this.getUploadURL();
|
||||
const thumbnailUploadURL = uploadURLs.pop();
|
||||
thumbnailObjectKey = await this.putFile(
|
||||
thumbnailUploadURL,
|
||||
file.thumbnail.encryptedData as Uint8Array,
|
||||
|
@ -1042,6 +1043,26 @@ class UploadService {
|
|||
}
|
||||
}
|
||||
}
|
||||
private async fetchUploadURLSeparately(): Promise<[UploadURL, UploadURL]> {
|
||||
try {
|
||||
const token = getToken();
|
||||
if (!token) {
|
||||
return;
|
||||
}
|
||||
const response = await HTTPService.get(
|
||||
`${ENDPOINT}/files/upload-urls`,
|
||||
{
|
||||
count: 2,
|
||||
},
|
||||
{ 'X-Auth-Token': token }
|
||||
);
|
||||
|
||||
return response.data['urls'];
|
||||
} catch (e) {
|
||||
console.log('failed to fetch url ');
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
export default new UploadService();
|
||||
|
|
Loading…
Reference in a new issue