Как хранить фото на сервере qt(или как вообще это делать)?
Привет всем!
Такой вопрос возник, как хранить фото.
Сценарий таков, пользователю предлагается загрузить фотографию( я предполагаю на сервер)
И далее уже в базе данных хранить название, или путь к изображению, и затем выгружать ее оттуда.
так вот непонятен алгоритм реализации загрузки на сервер.
Алексей Майрин, без знания, что представляет из себя сервер трудно что-то советовать. Обычно файл принимают через POST запрос, сохраняют на диске а в БД записывают оригинальное название и путь к файлу, в локальном хранилище(ну может ещё какие-то полезные данные вроде даты загрузки), т.е. если хранилище в /opt/server/files/, то в БД будет только /ae/df/hash_timestamp, а путь к файлу будет в итоге /opt/server/files/ae/df/hash_timestamp.
ae/df - первые символы хеша, нужно, чтоб не хранить в одной директории много файлов, а ещё так можно удобно раскидать по разным серверам, hash - собсно хеш, допустим md5, timestamp - время в unix формате, чтобы исключить коллизии.
Необходимо послать на сервер массив байтов, составляющих изображение.
На стороне сервера необходимо создать файл, и наполнить его нужными байтами, добавить имя и расширение, либо записать эти байты в поле в какой-нибудь БД.