@Obivankinobi

Загрузка фотографий с превью как организовать?

Добрый день!
Столкнулся с проблемой, требуется загрузить фотографии и одновременно показывать их миниатюры и привьюшки с помощью фэнсибокса, но путь к фотографиям получается в base 64 и все начинает тормозить. Делал как тут jsfiddle.net/kempxtno/1
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 1
@tvelforce
Загружаете файл, преобразуете его в jpg и только потом выводите.
Например на php
function base64_to_jpeg($img_base64, $img_name) {
    $uploaddir = 'files/';

    // Получаем расширение файла
    $getMime = explode('.', $img_name);
    $mime = end($getMime);

    // Выделим данные
    $data = explode(',', $img_base64);

    // Декодируем данные, закодированные алгоритмом MIME base64
    $encodedData = str_replace(' ','+',$data[1]);
    $decodedData = base64_decode($encodedData);

    // Вы можете использовать данное имя файла, или создать произвольное имя.
    // Мы будем создавать произвольное имя!
    $randomName = substr_replace(sha1(microtime(true)), '', 12).'.'.$mime;

    file_put_contents($_SERVER["DOCUMENT_ROOT"]."/".$uploaddir.$randomName, $decodedData);

    return( $uploaddir.$randomName ); 
}


А еще лучше создать миниатюру изображения (можно в том же base64) и её то и выводить.
Тормозить начинает если файл непомерно велик, стоит задуматься над уменьшением его размера.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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