Как создать строку в кодировке base64 из локального файла изображения в javascript - PullRequest
0 голосов
/ 16 апреля 2020

Я пытался преобразовать файл изображения с моего локального компьютера, но, похоже, он не работает для меня. Я не хочу загружать изображение, используя вход, потому что у меня только путь к изображению в производстве, и я хочу сохранить строку base64. но если есть лучший способ справиться с этим, то я не против


        const reader = new FileReader();
         const file = new File([imgUrl], { type: "image/png" });
        console.log(file);
        reader.addEventListener("load", function (e) {
            console.log(e.currentTarget.result);
        }, false);

        const data = reader.readAsDataURL(file);
        return data;
        }
        const img = "localhost:8080/start app abnner.png"; // my image path
        getDataUrl(img);

1 Ответ

0 голосов
/ 16 апреля 2020

Ключ должен использовать свойство результата вашего объекта (см. FileReader API. )

const reader = new FileReader()
reader.readAsDataURL(image) // assuming "image" is your file
reader.result // here is your base64 string

Так что в вашем случае это должно быть:

const data = reader.readAsDataURL(file);
return data.result;

Мне пришлось сделать что-то подобное один раз, поэтому я сделал небольшой плагин, если хотите: encode-image-uri . Преимущество использования обещаний, так что вы на 100% уверены, что вызываете любую функцию только тогда, когда преобразование выполнено и ваши данные готовы.

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