Редактор Froala не завершает загрузку изображения (белый низ на изображении) - PullRequest
0 голосов
/ 17 июня 2020

Я использую редактор Froala на своем сайте и разрешаю загружать изображения PNG, JPG, GIF. Мы используем библиотеку class.upload. php, доступную по адресу http://www.verot.net. Этот сценарий используется за пределами Froala для загрузки нескольких изображений. Мы также используем ssh2_sftp для загрузки изображений на удаленный сервер. Нет проблем с загрузкой нескольких изображений за пределами Froala.

Однако при загрузке во Froala мы получаем от 60 до 80% загруженного изображения, а остальные изображения белые. Screenshot of what we get

Могу только догадываться, что это как-то прерывается, но не вижу где. Загрузка логи c выглядит следующим образом:

ini_set("memory_limit", "200000000"); // for large images so that we do not get "Allowed memory exhausted"

$connection = ssh2_connect('IP', SFTP_PORT);
ssh2_auth_password($connection, 'U', 'P');
$sftp = ssh2_sftp($connection);
if (!file_exists('ssh2.sftp://'.intval($sftp).'/'.IMAGE_FOLDER.'/'.$user_config->user_id)) {
    ssh2_sftp_mkdir($sftp, '/var/www/'.IMAGE_FOLDER.'/'.$user_config->user_id);
}
$random_string = substr(str_shuffle("1234567890abcdefghijklmnopqrstuvwxyz"), 0, 10);
reset ($_FILES);
$temp = current($_FILES);
if (is_uploaded_file($temp['tmp_name'])){

    // Sanitize input
    if (preg_match("/([^\w\s\d\-_~,;:\[\]\(\).])|([\.]{2,})/", $temp['name'])) {
        header("HTTP/1.0 500 Invalid file name.");
        return;
    }

    // Verify extension
    if (!in_array(strtolower(pathinfo($temp['name'], PATHINFO_EXTENSION)), array("gif", "jpg", "png", "jpeg"))) {
        header("HTTP/1.0 500 Invalid extension.");
        return;
    }
    $image = new \Pdo\Upload($temp);
    $random_string = substr(str_shuffle("1234567890abcdefghijklmnopqrstuvwxyz"), 0, 10);
    $image->file_new_name_body = "lpi_".$random_string;
    if ($image->image_src_x > 400 || $image->image_src_y > 400) {
        $image->image_resize = true;
        $image->image_ratio = true;
    } else {
        $image->image_x = $image->image_src_x;
        $image->image_y = $image->image_src_y;
    }

    if ($image->file_src_name_ext == 'gif' || $image->file_src_name_ext == 'bmp' || $image->file_src_name_ext == 'jpeg') {
        $image->image_convert = 'jpg';
    }

    $image->Process('/var/www/admin/log/');

    if ($image->processed) {
        $remote_file = '/var/www/'.IMAGE_FOLDER.'/'.$user_config->user_id.'/'.$image->file_dst_name_body.'.'.$image->file_dst_name_ext;
        $local_file = '/var/www/admin/log/'.$image->file_dst_name_body.'.'.$image->file_dst_name_ext;
        ssh2_scp_send($connection, $local_file, $remote_file);
    }

    $image->Clean();
    if (isset($local_file) && $local_file != '') {
        unlink($local_file);
    }

    echo json_encode(array('link' => BASE_URL.'/'.IMAGE_FOLDER.'/'.$user_config->user_id.'/'.$image->file_dst_name_body.'.'.$image->file_dst_name_ext));
}
...