Сжатие файла изображения перед загрузкой - PullRequest
0 голосов
/ 22 февраля 2019

Приведенный ниже метод используется в качестве параметра для другой переменной.Но проблема здесь в том, что он не возвращает файл обратно после его сжатия.

async CompressImage(imageFile: File): Promise<File> {
    return new Promise<File>((resolve, reject) => {
        const cReader = new FileReader();
        const image = new Image();
        cReader.onload = () => {
            image.src = cReader.result.toString();
            image.onload = () => {
                const canvas = document.createElement("canvas");
                const context = canvas.getContext("2d");
                context.drawImage(image, 0, 0);

                //width & height initialization

                canvas.width = width;
                canvas.height = height;
                var ctx = canvas.getContext("2d");
                ctx.drawImage(image, 0, 0, width, height);

                const convertedFile = canvas.toBlob((blob) => {
                    const scaledDown = new File([blob], imageFile.name);
                });

                resolve(convertedFile);
            }
        };

        cReader.readAsDataURL(mediaFile);
    });
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...