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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Отправка и получение файлов в API?

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
sc2r2bey
Отправлено: 11 Августа, 2019 - 23:18:58
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




Хотел реализовать в API возможность передавать и получать файлы.
Можно использовать file_get_contents, но мне кажется это не кашерно, как еще можно это сделать?
 
 Top
LIME
Отправлено: 12 Августа, 2019 - 01:43:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




В чем некашерность?
API к чему?
Надо понимать что в принципе есть разные подходы к синхронной интеграции. Самым первым способом обычно приводят способ через обмен файлов как самый древний и ущербный. Потом уже всякое rpc, soapы и restы. То есть обмен файлами у тебя видимо является чем-то сбоку от API. То есть его можно в принципе отделить от API в самостоятельное хранилище как сервис и не мешать в кучу. И интегрировать с api синхронной или через события. По началу конечно можно и в мешанине оставить но тогда надо перестать мучаться кашерностью.
А вообще надо use cases знать чтоб обсудить. Пока это выглядит как сферический конь в вакууме.

(Отредактировано автором: 12 Августа, 2019 - 01:49:20)

 
 Top
sc2r2bey
Отправлено: 12 Августа, 2019 - 20:55:13
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




мне кажется читать файл в строку и потом это пересылать, я это имел под некошеронстью
представь изображение размером 20мБ так отправить или получить, а если несколько пользователей это сделают?
я слышал, что можно использовать Content-Disposition но никогда не сталкивался с реализацией?

(Отредактировано автором: 12 Августа, 2019 - 21:10:46)

 
 Top
LIME
Отправлено: 13 Августа, 2019 - 04:05:29
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




Необязательно читать целиком
И отправлять необязательно через http
Я бы поискал решения в области ОС и ФС
Например есть сетевые фс
Подробнее не подскажу не решал
 
 Top
Vladimir Kheifets
Отправлено: 14 Августа, 2019 - 07:20:34
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 879
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 37 раз(а)




sc2r2bey пишет:
мне кажется читать файл в строку и потом это пересылать, я это имел под некошеронстью
представь изображение размером 20мБ так отправить или получить, а если несколько пользователей это сделают?
я слышал, что можно использовать Content-Disposition но никогда не сталкивался с реализацией?

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

Например, по запросу, на получение статической информации об отеле, вебсервис так выдаёт
данные отеля и url-фотографий (Фрагмент encode JSON-Response)
Спойлер (Отобразить)
См. ниже как показываются фотографии на сайте.
Удачи!
Прикреплено изображение (Нажмите для увеличения)
Untitled-2.jpg

(Отредактировано автором: 15 Августа, 2019 - 09:02:11)

 
 Top
sc2r2bey
Отправлено: 16 Августа, 2019 - 02:34:37
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Июль 2009  


Помог: 0 раз(а)




спасибо огромное за ответы, но есть маленькое но, файлы которые отправляются на клиент лежат внутри сети и прямого доступа к ним нет, т.е. по ссылке их не передашь, это было бы отличное решение, но к сожалению оно не доступно
 
 Top
LIME
Отправлено: 16 Августа, 2019 - 09:00:02
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




nginx proxy_pass ?
(Добавление)
sshfs ? Или какой-либо более грамотный подход к сетевому примонтированию?
nfs
(Добавление)
Не надо решать на яп задачу в которой нет логики
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с сетью »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB