Forum Webscript.Ru
Программирование => JavaScript & JScript => Тема начата: smoker_cannabis от 22 Декабря 2004, 14:16:34
-
Здраствуйте!
Есть ссылка на файл Файл.
Как сделать чтоб при клике на эту ссылку вылазило окошко сохранения файла на диске, а не открывался сам файл в браузере?
-
smoker_cannabis
Общий ответ: нет.
Если только в file.html прописать , да и то не знаю, сработает ли.
Серверная сторона (perl, php, ...) доступна?
-
CGVictor
доступна !
-
smoker_cannabis
Ну так и выдай при ответе на запрос http-заголовок, скажем, header("Content-type: application/чего-то там"); (это ПХП)
На чем пишешь?
-
$FileName = \'mde.txt\';
$MYVAR[\'NAV_FILES_DIR\'] = \'\';
header("Content-Disposition: attachment; filename=".$FileName."\\r\\n");
header("Content-Type: application/octet-stream\\r\\n");
header("Content-Type: application/force-download\\r\\n");
header("Content-Type: application/download\\r\\n");
header("Content-Transfer-Encoding: binary\\r\\n");
readfile($MYVAR[\'NAV_FILES_DIR\'].$FileName);
-
4you
[off]Вот примерно это я и хотел сказать :)[/off]
-
Уважаемые, мне охота была увидеть решение на javescript (если оно возможно), а так у меня на perl все работает.
Всем спасибо.
-
[off]
smoker_cannabis:
если оно возможно
В том-то и дело. С точки зрения спецификаций, любой заголовок HTTP может быть заменен с помощью http-equiv. Но поймут это далеко не все браузеры.
Это я так, чтобы тему закрыть...
[/off]
-
smoker_cannabis, и в чём проблемы? Отдавай файл file.html перлом. С нужными тебе заголовками.
-
можно ещё правда в хтакссесе прописать MIME type для *.html, но как ты понимаешь, тогда это распространится на все файлы в папке. Хотя если у тебя все файлы *.htm то тебе по барабну. Вообще способов масса, было бы желание:)