Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать ссылку для скачивания html файла (https://javascript.ru/forum/misc/8865-kak-sdelat-ssylku-dlya-skachivaniya-html-fajjla.html)

m-mikle 17.04.2010 20:51

Как сделать ссылку для скачивания html файла
 
Если делать <a href="file.html">скачать</a>, то понятно, что файл не скачается, а откроется. А как тогда??

Octane 17.04.2010 21:20

Сервер в ответе должен специальный заголовок возвращать.

m-mikle 17.04.2010 21:57

Цитата:

Сообщение от Octane (Сообщение 51998)
Сервер в ответе должен специальный заголовок возвращать.

А как это осуществить не подскажете?

Octane 17.04.2010 22:11

Цитата:

Сообщение от wikipedia
Content-Disposition: attachment; filename=genome.jpeg;

http://en.wikipedia.org/wiki/MIME#Content-Disposition

На PHP как-то так:
header("Content-Disposition: attachment; filename=".$filename); 
$data = fread(fopen($filename, "rb"), filesize($filename)); 
echo $data;
Возможно это говнокод :) я не шарю в PHP.


Ну и ссылка на файл будет выглядеть как-то так:
<a href="download.php?filename=file.html">скачать</a>


Скорее всего можно и с помощью mode_rewrite сделать, без PHP.

jip 10.09.2011 00:44

<?php
header("Content-type: text/css");
header("Content-Disposition: attachment; filename=CSS3.css");
@readfile('CSS3.css');
?>


вот css например
все типы можно посмотреть здесь http://www.asptutorial.info/sscript/ContentType.html

jip 10.09.2011 00:48

организовал это здесь http://icq744177.ru/CSS3/

Gvozd 10.09.2011 00:49

Цитата:

……………………………………..______ __
………………………………,.-‘"……………….``~.,
………………………..,.-«……………………………..»-.,
…………………….,/………………………………………..":,
…………………,?……………………… ………………………\,
………………./………………………………………… ……..,}
……………../………………………………………… ……,:`^`..}
……………/………………………………………… ,:"………/
…………..?…..__……………………… ………..:`………../
…………./__.(….."~-,_…………………………,:`………./
………../(_…."~,_…….."~,_………………..,:`… .._/
……….{.._$;_……"=,_……."-,_…….,.-~-,},.~";/….}
………..((…..*~_……."=-._……";,,./`…./«…………../
…,,,___.\`~,……»~.,………………..`…. .}…………../
…………(….`=-,,…….`……………………(……;_,,-"
………….\`~.*-,……………………………….|,./…..\,__
,,_……….}.>-._\……………………………..|……… ..`=~-,
…..`=~-,_\_……`\,……………………………\
……………….`=~-,,.\,………………………….\
…………………………..`:,,………… …………`\…………..__
……………………………….`=-,……………….,%`>--==``
…………………………………._\…… .._,-%…….`\
……………………………..,<`.._|_,-&``…………….`\
PS ывпвыар

Виктор Кон 10.09.2011 16:34

Указать другое расширение файла, например zip или вообще какое-нибудь не стандартное. Когда браузер не знает что с файлом делать, он предлагает скачать.

Gvozd 10.09.2011 18:30

печаль

ваый 10.09.2011 18:41

Цитата:

Сообщение от Виктор Кон
Указать другое расширение файла, например zip или вообще какое-нибудь не стандартное. Когда браузер не знает что с файлом делать, он предлагает скачать.

А, чего, достаточно остроумно. Вот только может получиться, что и пользователь не будет знать, что с таким файлом делать.

Gvozd 10.09.2011 18:46

Цитата:

Сообщение от ваый
что и пользователь не будет знать, что с таким файлом делать.

надо тогда файл так назвать:
filename.this_is_HTML!!!!!!!111111

popov654 10.09.2011 22:38

Цитата:

А, чего, достаточно остроумно. Вот только может получиться, что и пользователь не будет знать, что с таким файлом делать.
Ох лол... :haha:
Догадается)

Вообще я не очень понял, чем Gvozd не угодил вариант решения на PHP с заголовками. Я бы так и сделал ;)

Gvozd 11.09.2011 00:55

popov654,
посмотрите на даты сообщений.
Некропостинг у меня как правило вызывает именно такую реакцию.
И регистрация jip на форуме, только для того чтобы ответить на мертвый топик, не вызывает иных фраз как "ну, *б твою мать!"

Не говорю уж о том, что опубликованный jip ответ является модификацией от ответа Octane, только с чуть более правильным кодом, и нахрен не нужным(в контексте вопроса) header("Content-type: text/css");, на который jip так усердно обращает внимание.

Еще вопросы?

popov654 13.09.2011 00:57

Сорри, у матросов нет вопросов :D

На даты я обычно не смотрю)

Цитата:

регистрация jip на форуме, только для того чтобы ответить на мертвый топик
А что такого? Чувак пиарит свой скрипт :lol:

sercronos 15.03.2012 07:00

как сделать так чтобы файл скачивался ответ
 
как сделать так чтобы файл скачивался ответ
ерундой не страдайте вот вам примерный код:

< i>< h3>< right><a href="файл.rar">имя файла которое будет отборажатся как ссылка
< /right>< /body> < /a>< /b>< /i>< /h3>

но есть одно но: дело в том что страница для содержажия ссылок на скачивания и и сами файлы должны находится в одной папке, тогда все заработает
обесняю по русски : допустим у нас сайт с сылкой на объект.rar в находится папке 01, значит мы добовляем в папку 01 объект.rar,
и ссылка работает

devote 15.03.2012 09:10

O_o еще один некропостер, как сказал Gvozd,
Цитата:

Сообщение от Gvozd
"ну, *б твою мать!"


FINoM 22.08.2012 23:37

Можно я тоже?
У меня тот же вопрос, только касательно локального файла. Можно ли скачать хтмл файл, если он находится на локальной машине?

devote 22.08.2012 23:53

Цитата:

Сообщение от FINoM
Можно ли скачать хтмл файл, если он находится на локальной машине?

а зачем человеку качать то что у него и так на его компе? А в локалке заголовки вряд ли пошлешь.. тут если тока какой нить FileAPI и отдавать юзеру

FINoM 22.08.2012 23:57

Цитата:

Сообщение от devote
а зачем человеку качать то что у него и так на его компе?

Для америкосов кое-что делаю. Будет много вложенных папок, в которых находятся хтмл файлы. Чтоб не заставлять человека лазить по папкам, сделаю менюху, которая будет генерировать адрес к целевому файлу.

Deff 23.08.2012 00:44

FINoM,
Дык скачивать или просмотр - ?
В принципе на компе ежели file://localhost/C:

FINoM 23.08.2012 00:46

Именно скачивать. Ладно, я так понимаю, задача не решается.

devote 23.08.2012 00:50

Цитата:

Сообщение от FINoM
Именно скачивать. Ладно, я так понимаю, задача не решается.

дык может закачать файл в JS а потом отдать его юзеру через data:URI с другим MIME-типом

Deff 23.08.2012 00:51

Цитата:

Сообщение от FINoM
Именно скачивать. Ладно, я так понимаю, задача не решается.

Я тьву дал вариант - через правую кнопку - можно сохранить в произвольное место

К примеру
У мну с рабочего стола

FINoM 23.08.2012 01:04

Цитата:

Сообщение от Deff
через правую кнопку - можно сохранить в произвольное место

О, это вариант.
Цитата:

Сообщение от devote
дык может закачать файл в JS а потом отдать его юзеру через data:URI с другим MIME-типом

Эм, не будет ли проблем с безопасностью?

Aetae 23.08.2012 02:03

<a href="file.html" download="filename.html">download</a>
html5
Работает в хроме, в фф(последнем nightly) - нет.

Кстати для осла тоже наверняка можно что-нить изобразить с помощью ActiveX.

FINoM 23.08.2012 05:41

Цитата:

Сообщение от Aetae
<a href="file.html" download="filename.html">download</a>

Хм, интересно, не знал.

degressor 19.01.2015 18:04

А если есть ссылка, но без сайта. Прислали скажем по скайпу и некуда вставить аттрибут download, и правой кнопкой не нажать? Тогда можно воспользоваться микросервисом http://savedirectlink.com/ru


Часовой пояс GMT +3, время: 21:57.