fix: upstream SDK now supports axios blob as file input, workaround no longer needed

This commit is contained in:
David Ball 2024-08-26 17:43:50 -04:00
parent eb4e0f7f2e
commit ca05d49262

View File

@ -478,13 +478,8 @@ export async function getAllAssetsInFolder(assetFolderId: string) {
export async function uploadDownloadedImageToSquidexAsAsset(downloadUrl: string, assetFolderId: string) {
let url = new URL(downloadUrl);
let filename = url.pathname.substring(downloadUrl.lastIndexOf('/')+1);//.replace(/[A-Z0-9\.-_]*, '$0');
let response = await axios.get(downloadUrl, { timeout: TIMEOUT_IN_SECONDS * 1000, responseType: 'arraybuffer' });
let form = new FormData();
let blob = new Blob(response.data, {type: mimeLookup(filename) as string});
form.append('fileName', filename);
form.append('file', blob, filename);
form.append('parentId', assetFolderId);
let assetDto = await client.assets.postAsset({ file: blob, name: filename, url: filename, parentId: assetFolderId }, { body: form });
let response = await axios.get(downloadUrl, { timeout: TIMEOUT_IN_SECONDS * 1000, responseType: 'blob' });
let assetDto = await client.assets.postAsset({ file: response.data, name: filename, url: filename, parentId: assetFolderId });
assetDto = await client.assets.putAsset(assetDto.id, { metadata: { ...assetDto.metadata, 'amazon-url': downloadUrl }, tags: ['amazon', 'product'] });
// assetDto = await client.assets.putAssetParent({ id: assetDto.id, moveAssetDto: { parentId: assetFolderId } });
return assetDto;