20
Окт
2016

Большой размер картинки Base64

Здравствуйте. Есть код JS:

// Создаем новый экземпляра FileReader
var fileReader = new FileReader();

// Инициируем функцию FileReader
fileReader.onload = (function(file) {

    return function(e) {
        // Помещаем URI изображения в массив
        dataArray.push({bdID : bdID, pgID : pgID, acID : acID, name : file.name, value : this.result});
        addImage((dataArray.length-1));
    }; 

})(files[index]);

// Производим чтение картинки по URI
fileReader.readAsDataURL(file);

Далее я отправляю массив через AJAX в PHP файл-обработчик где через ф-ю

// Выделим данные
$file = $_POST['value'];
$data = explode(',', $file);

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

$randomName = substr_replace( sha1 ( microtime(true) * ( rand(1, 9) * 0.1 ) ) , '', 12 ).'.'.$mime;

// Создаем изображение на сервере
file_put_contents($uploaddir.$randomName, $decodedData)

На локалке ( OpenServer ) все работало отлично, но стоило залить все это на сервер - файлы больше 1мб загружаются по своему. Они загружаются на несколько процнтов (см. скриншот 1).

Скриншот 1. ( Слева картинка весом 0.4мб, справа 1.2мб. )

скриншот 1

echo ini_get('post_max_size'); // 300M
echo ini_get('upload_max_filesize'); // 300M

Источник: https://ru.stackoverflow.com/questions/580661/%D0%91%D0%BE%D0%BB%D1%8C%D1%88%D0%BE%D0%B9-%D1%80%D0%B0%D0%B7%D0%BC%D0%B5%D1%80-%D0%BA%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D0%B8-base64

Share

Тебе может это понравится...