Why blueimp-load-image fail?

99 views Asked by At

Have this method, it convert HEIC image and send it. I see an error after conversion in the returned image, why?

const uploadImage = async (propsAndFile: UploadImageParams) => {
    try {
        let convertedImage
        let convertedType
        if (propsAndFile?.file?.type == 'image/heic') {
            convertedImage = await new Promise((resolve, reject) => {
                loadImage(
                    propsAndFile.file,
                    resolve,
                    { orientation: true, canvas: true },
                    reject
                )
            })
            convertedType = 'image/jpg'
        }

        try {
            const uploadResponse = await axiosInstance({
                method: 'put',
                url: presignResponse.data,
                data: convertedImage ?? propsAndFile.file ?? propsAndFile.buffer,
                withCredentials: false,
                headers: {
                    'x-amz-acl': 'public-read',
                    'Content-Type':
                        convertedType ??
                        propsAndFile?.contentType ??
                        propsAndFile?.file?.type,
                },
            })
            if (propsAndFile.andThen) {
                return propsAndFile.andThen()
            } else {
                return {
                    presignResponse,
                    uploadResponse,
                }
            }
        } catch (error) {
            console.error(error)

            return {
                presignResponse,
            }
        }
    } catch (error) {
        console.error(error)

        return {}
    }
}

enter image description here

0

There are 0 answers