![]() |
Задавайте вопросы, мы ответим
Вы не зашли.
Сервер БД - MySQL 5
У меня есть (закрытое/чужое) приложение которое создало и юзает базу 'БД_Картинок' к самой БД у меня есть доступ, картинки хранятся в отдельной директории "C:\Program Files\MySQL\MySQL Server 5.0\data\БД_Картинок\" - сдесь лежат файлы JPG, в таблицах БД никаких путей к файлам нет. Пишу приложение на Delphi, если указываю локальный путь то картинки открываются, запускаю приложение на другом компе неоткрываюся. Как определить относительный путь к этим файлам жопеГ, чтобы с любого компа открывались?
Неактивен
Чтобы открывались с любого компа, картинки должны быть в каталоге, доступном для apache. То есть, например, если http://my.ser.ver/ соответствует каталогу c:\wwwroot, то положите картинки в c:\wwwroot\images\ и они будут доступны по адресу http://my.ser.ver/images/
Неактивен
Спасибо за ответ . А можно без веб сервера получить путь к БД? У меня нет веб сервера т.к. для моей задачи он и не нужен.
У меня:
1) Программа написанная на Дельфи
2) Сервер БД MySQL 5
3) Нужно получить относительный путь (DATADIR) чтобы я мог построить путь к JPEG файлу и отобразить в своей программе с любого ПК в локальной сети где будет запущено моё приложение.
Может есть SQL команда? Сейчас откопал команду SHOW VARIABLES, сижу изучаю...
Неактивен
Неактивен
Да этот SQL помог мне понять что я копаю не в том направлении, с помощью него можно получать путь к datadir но он ведь не относительный. Видимо нужно копать в встроенных функциях и процедурах MySQL??? У JPEG файлов имена заканчиваются номером id этой записи в таблице images, можно достать картинку из БД по ID из таблицы?
Неактивен
Судя по всему картинки не хранятся в БД, раз это отдельный файлы. В таком случае в БД должен быть путь к ним. Что значит относительный путь? Относительно чего?
Неактивен
Да Вы правы картинки хранятся в папке C:\Program Files\MySQL\MySQL Server 5.0\data\БД_Картинок\ но в БД нет никаких путей к ним, единственное что я обнаружил это схожесть номера ID записи в таблице images и окончание имени JPG файла. т.е. запись с ID=1 соответствует имени файла 00001.jpg
Неактивен
Соответствия номера и имени файла достаточно, чтобы сформировать путь внутри приложения
Неактивен
Конечно достаточно но формируется локальный путь, а мне нужно относительный, относительно сервера БД. Например: myServer:3306\\data\\БД_картинок\00001.jpg. Может есть комманда?
Неактивен
Сервер БД не отдает файлы по сети, так что приведенный Вами путь не имеет смысла.
Неактивен
Кстати, человеку, писавшему (закрытую/чужую) программу, стоит оторвать руки (или другие
органы набора программ) за хранение JPEG отдельными файлами в каталоге данных MySQL.
Если, конечно, там действительно лежат файлы JPEG
Неактивен
Отвечаю на свой вопрос картинку(любой другой файл) из бд я получаю так: select load_file(''./БД_картинок/00001.jpg'') as img
Неактивен
Касательно пути... Может быть вы имеете ввиду это?:
\\<имя удалённого компа или его ИПшник>\<полный путь до картинки на том компьютере, только двоеточие заменено на $>\00001.jpg
Сам путь к хранилищу данных можно узнать так:
show variables where variable_name='datadir'
Неактивен