Astrohas
@Astrohas
Python/Django Developer

Как прочесть изображение из файла в BASE64?

Увы прощу не смеяться над моим кодом. Задача такова - есть изображения, локальные. Хочется прочитать их и засунуть в виде base64. Отсутствие опыта на JS привело к следующему нерабочему фрагменту:
function image_ref() {

    var images = document.querySelectorAll('img');
    for (i=0; i<images.length; i++) {
        image = images[i];
        var attr = image.src;
        if (attr.toString().startsWith('file')) {
            console.log(attr)
            var reader = new FileReader();

            reader.onloadend = function (event) {
                image.src = reader.result

            }
            reader.readAsDataURL(attr);

        }
    }


Как это решить?
UPD:
Я пытаюсь прочесть изображение по адресу типа 'file://c:/chtototam.jpg' в как blob
upd:2
если быть точнее я хочу скопировать текст с изображениями в wisywig из Word'a. При копировании в буфер обмена Word создает в Temp директории файлы изображений и в атрибуте src указывает ссылку на это изображение. Мне нужно засунуть это изображение как base64, потому что ссылка на локальный ресуср серверу нафиг не сдалась. вобщем вот... Tiny MCE может в премиум версии сделать такое, значить это возможно...
  • Вопрос задан
  • 467 просмотров
Решения вопроса 1
Astrohas
@Astrohas Автор вопроса
Python/Django Developer
Решился сделать так:
1. После вставки контента в редактор получаю локальные адреса изображений.
2. Добавил тестовое поле куда будут кидаться пути к файлам в виде C:\Users\MT_SCA~1\AppData\Local\Temp\msohtmlclip1\01\clip_image002.jpg
3. Пользователю придется скопировать содержимое в буфер обмена.
4. Затем открывается диалог открытия файла
5. туда комбинацией ctrl + v имена файлов
6. затем все читается FileReader'ом
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
aliencash
@aliencash
Партизан
Вот кодер-декодер - foxtools.ru/Base64 Но главное там есть API.
Ответ написан
Комментировать
Taraflex
@Taraflex
Ищу работу. Контакты в профиле.
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы