2015-04-20 3 views
-5

Я делаю простой REST api, который работает с некоторыми изображениями, но я читал, что гораздо лучше хранить изображения на локальном сервере, а не непосредственно в db. Поэтому из того, что я понимаю, я должен сохранять изображение локально, получить его путь и сохранить его в db, и когда я получаю изображение, я нахожу его по указанному пути. Но я не мог найти нигде, как на самом деле это сделать. Как получить изображение из параметров post и сохранить его? Как обрабатывать запросы GET? Я возвращаю его как base64? Никогда раньше не работал с изображениями, поэтому любые советы помогут.PHP MySQL хранилище локально

+0

Вы должны показать нам, что вы уже пробовали. Мы здесь не для того, чтобы писать для вас код. Но да, что вы говорите правильно, вы не должны хранить изображения в базе данных. Если вы google 'php upload image', вы должны найти множество примеров того, как загрузить изображение (хотя не забудьте проверить безопасность предлагаемых решений, есть много опасных сценариев загрузки), и вы, вероятно, уже знают, как хранить строки в базе данных. – tim

ответ

1

в использовании форм атрибутов

ENCTYPE = «многослойную/форма-данные»

2

Я думаю, что лучший способ доставить изображения через REST API, чтобы отправить клиенту в URL, где изображение можно загрузить.

Таким образом, вы должны поместить изображение в какое-то место, чтобы веб-сервер мог доставить его клиенту. Этот путь будет сохранен в базе данных и доставлен клиенту через ответ REST.

1

сохранение изображений

Вместо сохранения данных изображения в базе данных, выберите директорию (например «images») и сохранить изображение в него с уникальным именем. сохранить имена, используемые в базу данных (name1.jpg, name2.jpg)

возвращающихся изображений

при возврате изображения возвращает URL, с которого клиент может загрузить изображение. см. этот график api response.

cover: { 
cover_id: 655226244566013, 
offset_x: 0, 
offset_y: 0, 
source: "https://scontent.xx.fbcdn.net/hphotos-xpa1/t31.0-8/s720x720/10490073_655226244566013_4652385059438071379_o.jpg", 
id: "655226244566013" 
}, 

исходное изображение возвращается как URL, откуда вы можете загрузить изображение.

0

Создайте таблицу изображений в вашей базе данных, используя img_id в качестве первичного ключа. Добавить путь к вашему изображению как, например, img_name. Сохраните все ваши изображения в определенной папке.

Затем, используйте форму для создания, удаления и подавления вашего изображения.

Смежные вопросы