имя файла для сохранения на локальный диск
На сайте осуществляется просмотр рисунков, в том числе и рисунка в отдельном окне.
Рисунок хранится в БД и получается по адресу http://.../pls/portal/media_arch_asio.pkg_content.get_initial_content?p_get_id=<номер> , как следствие если пользователь нажимает "Сохранить рисунок как" в диалоге сохранения в имя файла у него заносится разная пакость, для разных браузеров разная.
Как сделать так что бы при вызове функции браузера сохранения рисунка в диалоговом окне подставлялось другое (мной указаное) имя?
Заранее спасибо !
Рисунок берётся не из файла а из записи Базы Данных и идентифицируется номером.
Не помогает, как работало раньше, так работает и сейчас..
пробывал ещё тег "[SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000][COLOR=black]Title: [/COLOR][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE]", но и это не помогло.
Что-то вроде:
RewriteRule ^img/(.*)$ pic_count.php?pic=$1
Обращаемся к /img/filename.jpg
Ну а в скрипте уже:
header('Content-type: image/jpeg');
накладываем логотип и пр., а отдаем по-сути /любой путь/filename.jpg
ИМХО проще картинки хранить на сервере, чем раздувать БД
А почему не работает? У меня при посылке этого заголовка браузер предлагает сохранить файл с этим именем. Попробуй ещё отдавать Content-Type и Content-Length + "Content-Transfer-Encoding: binary" если это картинки.
На крайний случай можно использовать mod_rewrite, как сказал Franky, но зачем делать на сервере то, что может сделать клиент?
ИМХО проще картинки хранить на сервере, чем раздувать БД
Не обязательно. mod_rewrite'ом ты ведь тоже "нагружаешь" сервер :)
Аа, я не понял этого нюанса. Ну, тогда думаю без mod_rewrite не обойтись, хотя можно попробовать Content-Disposition: inline - оно по идее должно задавать имя, под которым браузер видит эту страницу, без предложения сохранить файл.
ИМХО проще картинки хранить на сервере, чем раздувать БД
Смысл и есть в БД, фотоархив делается, а его администрировать нужно, да и поск по свойствам то же требуется
Content-Disposition: inline - не помогло.
/************** всем ******************/
За mod_rewrite спасибо, отправился читать учебники.
Сложность устранилась, теперь всё замечательно !
Итак :
что бы URL адреса выгледели как
http://.../pls/portal/url/page/media_arch_asio/content/2241/initial/DSC_2439.JPG
но при этом брали данные из
http://.../pls/portal/media_arch_asio.pkg_content.get_initial_content?p_get_id=2241
в файл httpd.conf была добравлена строчка
RewriteRule ^/pls/portal/url/page/media_arch_asio/content/([^/]+)/(initial|review|icon)/[^/]+\..+$ /pls/portal/media_arch_asio.pkg_content.get_$2_content?p_get_id=$1
И теперь работает нужная ссылка просто отлично !
С П О С И Б О ВСЕМ !!!
в файл httpd.conf была добравлена строчка
Зачем сразу в httpd.conf? :eek: Добавьте вы её в .htaccess, который положите в /pls/portal/url/page/media_arch_asio/content, да и уберите абсолютный путь из правила.
Может понадобиться ещё дописать RewriteEngine On для включения mod_rewrite в этой папке.
Я бы не стал трогать httpd.conf, если тоже самое можно сделать одним .htaccess.
Может понадобиться ещё дописать RewriteEngine On для включения mod_rewrite в этой папке.
Я бы не стал трогать httpd.conf, если тоже самое можно сделать одним .htaccess.
Дело в том что путь /pls/portal/url/page/media_arch_asio/content есть путь вертуальный т.е. такой папки физически на сервере нету, более того /pls/portal и тот не настоящий... я бы рад всё в .htaccess указать, да только ложить его не куда..
в том где приложение стрится почти весь сайт динамически генерируется. (и придумал это не я, система так работает)
в /pls/portal/media_arch_asio.pkg_content.get_initial_content?p_ get_id=2241
/pls/portal/ - префикс ведущий к пакетам БД
media_arch_asio - имя схемы БД
pkg_content - имя пакета БД
get_initial_content - имя процедуры в пакете БД
:D
а в http://.../pls/portal/url/page/media_arch_asio/content/2241/initial/DSC_2439.JPG обычно
/pls/portal/url/page/ - префикс ведущий к ДИНАМИЧЕСКИМ страицам
media_arch_asio, content, 2241, initial - названия Динамических страниц
DSC_2439.JPG - имя файла
но даже сдесь (!) всё вышеперечисленное кроме наверное /pls/portal/url/page/ это записи в БД.
Вот такая вот колбаска выходит.. :)
Ну, положите его в корень, он-то у вас существует? Главное правильные пути в Rewrite* указать, и чтобы .htaccess лежал где-то в этих папках вверх по дереву.
пробывал ещё тег "[SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000][COLOR=black]Title: [/COLOR][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE]", но и это не помогло.
[QUOTE=Proger_XP]А почему не работает? У меня при посылке этого заголовка браузер предлагает сохранить файл с этим именем. Попробуй ещё отдавать Content-Type и Content-Length + "Content-Transfer-Encoding: binary" если это картинки.
На крайний случай можно использовать mod_rewrite, как сказал Franky, но зачем делать на сервере то, что может сделать клиент?[/QUOTE]
Понял что я дурак...
После указания Mime типа у меня заголовок HTTP закрывался...