Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

имя файла для сохранения на локальный диск

286
02 апреля 2010 года
misha_turist
572 / / 28.11.2005
Доброго времени суток коллеги.

На сайте осуществляется просмотр рисунков, в том числе и рисунка в отдельном окне.
Рисунок хранится в БД и получается по адресу http://.../pls/portal/media_arch_asio.pkg_content.get_initial_content?p_get_id=<номер> , как следствие если пользователь нажимает "Сохранить рисунок как" в диалоге сохранения в имя файла у него заносится разная пакость, для разных браузеров разная.

Как сделать так что бы при вызове функции браузера сохранения рисунка в диалоговом окне подставлялось другое (мной указаное) имя?

Заранее спасибо !
13
02 апреля 2010 года
RussianSpy
3.0K / / 04.07.2006
Единственный способ - назвать так сам файл, который лежит у вас на сервере. Доступа с помощью скриптов к данному диалогу сохранения файлов не существует.
16K
02 апреля 2010 года
k0t
97 / / 23.04.2007
Если вы отдаете файл скриптом, то попробуйте добавить в хедер filename
 
Код:
header('Content-Disposition: attachment; filename="filename.ext"');
286
02 апреля 2010 года
misha_turist
572 / / 28.11.2005
Цитата: RussianSpy
Единственный способ - назвать так сам файл, который лежит у вас на сервере. Доступа с помощью скриптов к данному диалогу сохранения файлов не существует.


Рисунок берётся не из файла а из записи Базы Данных и идентифицируется номером.

286
02 апреля 2010 года
misha_turist
572 / / 28.11.2005
Цитата: k0t
Если вы отдаете файл скриптом, то попробуйте добавить в хедер filename
 
Код:
header('Content-Disposition: attachment; filename="filename.ext"');


Не помогает, как работало раньше, так работает и сейчас..
пробывал ещё тег "[SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000][SIZE=2][COLOR=#008000][COLOR=black]Title: [/COLOR][/COLOR][/SIZE][/COLOR][/SIZE][/COLOR][/SIZE]", но и это не помогло.

325
04 апреля 2010 года
Franky
723 / / 10.08.2005
а я отдаю через Rewrite Rules, с учетом посещаемости. Очень удобно, кстати.
Что-то вроде:
RewriteRule ^img/(.*)$ pic_count.php?pic=$1

Обращаемся к /img/filename.jpg
Ну а в скрипте уже:
header('Content-type: image/jpeg');
накладываем логотип и пр., а отдаем по-сути /любой путь/filename.jpg

ИМХО проще картинки хранить на сервере, чем раздувать БД
253
04 апреля 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата:
Не помогает, как работало раньше, так работает и сейчас..


А почему не работает? У меня при посылке этого заголовка браузер предлагает сохранить файл с этим именем. Попробуй ещё отдавать Content-Type и Content-Length + "Content-Transfer-Encoding: binary" если это картинки.
На крайний случай можно использовать mod_rewrite, как сказал Franky, но зачем делать на сервере то, что может сделать клиент?

Цитата:

ИМХО проще картинки хранить на сервере, чем раздувать БД


Не обязательно. mod_rewrite'ом ты ведь тоже "нагружаешь" сервер :)

366
05 апреля 2010 года
int
668 / / 30.03.2005
Content-Disposition: attachment сразу отправит файл на сохранение, а вопрос идёт о сохранении image/jpeg через контекстное меню.
253
05 апреля 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: int
Content-Disposition: attachment сразу отправит файл на сохранение, а вопрос идёт о сохранении image/jpeg через контекстное меню.


Аа, я не понял этого нюанса. Ну, тогда думаю без mod_rewrite не обойтись, хотя можно попробовать Content-Disposition: inline - оно по идее должно задавать имя, под которым браузер видит эту страницу, без предложения сохранить файл.

286
07 апреля 2010 года
misha_turist
572 / / 28.11.2005
Цитата: Franky

ИМХО проще картинки хранить на сервере, чем раздувать БД


Смысл и есть в БД, фотоархив делается, а его администрировать нужно, да и поск по свойствам то же требуется

286
07 апреля 2010 года
misha_turist
572 / / 28.11.2005
Цитата: Proger_XP
Аа, я не понял этого нюанса. Ну, тогда думаю без mod_rewrite не обойтись, хотя можно попробовать Content-Disposition: inline - оно по идее должно задавать имя, под которым браузер видит эту страницу, без предложения сохранить файл.


Content-Disposition: inline - не помогло.


/************** всем ******************/

За mod_rewrite спасибо, отправился читать учебники.

286
07 апреля 2010 года
misha_turist
572 / / 28.11.2005
Спасибо всем ОГРОМНОЕ !!!
Сложность устранилась, теперь всё замечательно !

Итак :
что бы 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

И теперь работает нужная ссылка просто отлично !
С П О С И Б О ВСЕМ !!!
253
07 апреля 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: misha_turist

в файл httpd.conf была добравлена строчка


Зачем сразу в httpd.conf? :eek: Добавьте вы её в .htaccess, который положите в /pls/portal/url/page/media_arch_asio/content, да и уберите абсолютный путь из правила.
Может понадобиться ещё дописать RewriteEngine On для включения mod_rewrite в этой папке.

Я бы не стал трогать httpd.conf, если тоже самое можно сделать одним .htaccess.

286
07 апреля 2010 года
misha_turist
572 / / 28.11.2005
Цитата: Proger_XP
Зачем сразу в httpd.conf? :eek: Добавьте вы её в .htaccess, который положите в /pls/portal/url/page/media_arch_asio/content, да и уберите абсолютный путь из правила.
Может понадобиться ещё дописать 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/ это записи в БД.

Вот такая вот колбаска выходит.. :)

253
07 апреля 2010 года
Proger_XP
1.5K / / 07.08.2004
Цитата: misha_turist
Дело в том что путь /pls/portal/url/page/media_arch_asio/content есть путь вертуальный т.е. такой папки физически на сервере нету, более того /pls/portal и тот не настоящий... я бы рад всё в .htaccess указать, да только ложить его не куда..


Ну, положите его в корень, он-то у вас существует? Главное правильные пути в Rewrite* указать, и чтобы .htaccess лежал где-то в этих папках вверх по дереву.

286
09 апреля 2010 года
misha_turist
572 / / 28.11.2005
Цитата: misha_turist
Не помогает, как работало раньше, так работает и сейчас..
пробывал ещё тег "[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 закрывался...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог