Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Отправка и получение файлов в API?
Форумы портала PHP.SU » » Работа с сетью » Отправка и получение файлов в API?

Страниц (1): [1]
 

1. sc2r2bey - 11 Августа, 2019 - 23:18:58 - перейти к сообщению
Хотел реализовать в API возможность передавать и получать файлы.
Можно использовать file_get_contents, но мне кажется это не кашерно, как еще можно это сделать?
2. LIME - 12 Августа, 2019 - 01:43:01 - перейти к сообщению
В чем некашерность?
API к чему?
Надо понимать что в принципе есть разные подходы к синхронной интеграции. Самым первым способом обычно приводят способ через обмен файлов как самый древний и ущербный. Потом уже всякое rpc, soapы и restы. То есть обмен файлами у тебя видимо является чем-то сбоку от API. То есть его можно в принципе отделить от API в самостоятельное хранилище как сервис и не мешать в кучу. И интегрировать с api синхронной или через события. По началу конечно можно и в мешанине оставить но тогда надо перестать мучаться кашерностью.
А вообще надо use cases знать чтоб обсудить. Пока это выглядит как сферический конь в вакууме.
3. sc2r2bey - 12 Августа, 2019 - 20:55:13 - перейти к сообщению
мне кажется читать файл в строку и потом это пересылать, я это имел под некошеронстью
представь изображение размером 20мБ так отправить или получить, а если несколько пользователей это сделают?
я слышал, что можно использовать Content-Disposition но никогда не сталкивался с реализацией?
4. LIME - 13 Августа, 2019 - 04:05:29 - перейти к сообщению
Необязательно читать целиком
И отправлять необязательно через http
Я бы поискал решения в области ОС и ФС
Например есть сетевые фс
Подробнее не подскажу не решал
5. Vladimir Kheifets - 14 Августа, 2019 - 07:20:34 - перейти к сообщению
sc2r2bey пишет:
мне кажется читать файл в строку и потом это пересылать, я это имел под некошеронстью
представь изображение размером 20мБ так отправить или получить, а если несколько пользователей это сделают?
я слышал, что можно использовать Content-Disposition но никогда не сталкивался с реализацией?

Добрый день!
Вовсе не обязательно пересылать графические файлы, достаточно, отправлять их URL, так обычно и делают в Вебсервисах.
Допустим, Вы хотите создать свой Вебсервис.
Спойлер (Отобразить)

Например, по запросу, на получение статической информации об отеле, вебсервис так выдаёт
данные отеля и url-фотографий (Фрагмент encode JSON-Response)
Спойлер (Отобразить)
См. ниже как показываются фотографии на сайте.
Удачи!
6. sc2r2bey - 16 Августа, 2019 - 02:34:37 - перейти к сообщению
спасибо огромное за ответы, но есть маленькое но, файлы которые отправляются на клиент лежат внутри сети и прямого доступа к ним нет, т.е. по ссылке их не передашь, это было бы отличное решение, но к сожалению оно не доступно
7. LIME - 16 Августа, 2019 - 09:00:02 - перейти к сообщению
nginx proxy_pass ?
(Добавление)
sshfs ? Или какой-либо более грамотный подход к сетевому примонтированию?
nfs
(Добавление)
Не надо решать на яп задачу в которой нет логики

 

Powered by ExBB FM 1.0 RC1