Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Сервис TinyPNG (https://javascript.ru/forum/server/79568-servis-tinypng.html)

laimas 23.02.2020 12:00

Сервис TinyPNG
 
Есть те, кто использовал API этого сервиса? Оно есть для многих языков, для Node тоже, возможно есть пользователи.

Есть проблема - отладка на локальном сервере. Если передать в метод этого API для оптимизации бинарные данные и выполнить \Tinify\fromBuffer($file)->toBuffer(), то все отлично и результат шикарный. А вот с передачей в метод пути к изображению для оптимизации происходит ошибка клиентская. Уже и абсолютный, и относительный от всего возможного путь пробовал, ошибка. Передачу сетевого пути конечно нет смысла на локалке указывать.

Как у других с этим?

Nexus 23.02.2020 12:07

Может прав на чтение файла нет?

Цитата:

Сообщение от laimas
Уже и абсолютный, и относительный от всего возможного путь пробовал, ошибка.

Что за ошибка?

laimas 23.02.2020 12:12

Цитата:

Сообщение от Nexus
Может прав на чтение файла нет?

Так тогда бы и бинарные данные файла невозможно было бы получить. :) Ошибка с проблемами на клиенте, то есть не может метод найти по указанному пути файла.

Nexus 23.02.2020 12:20

laimas, если на исходники посмотреть, то fromFile не особо отличается от fromBuffer:
public static function fromFile($path) {
    return self::fromBuffer(file_get_contents($path));
}

© https://github.com/tinify/tinify-php...ify/Source.php

laimas 23.02.2020 12:24

Nexus, это и ежику понятно, но зачем же мне гонять в модель бинарник, когда выгоднее передать путь. Дело не в доступе, публичные каталоги на чтение всегда открыты, а на Widows на них вообще плевать, дело в чем-то ином. На севере вообще планируется отдавать и сетевой путь.

Белый шум 23.02.2020 17:07

laimas,
На линуксе можно запустить минимальный пример через strace и посмотреть какие вызовы он делает. Там будет видно по каким путям он ищет файл и какую ошибку получает.

P.S. наверное и для винды можно найти что-то похожее, если нет линукса под рукой.

laimas 23.02.2020 18:49

Это простой скрипт, а основа взаимодействия с сервисом, это cURL, то есть можно просто добавить в скрипт вывод пути, который он получает на входе. Но я их фактически и так знаю, ибо сам и передаю, но сделаю, может быть действительно путаница получается.

Andrewsmith2921 26.02.2021 10:26

i am using compressor.io in place of tiny png


Часовой пояс GMT +3, время: 17:08.