Вопрос по html, anchor, download – Как заставить полностью скачать текстовый файл по ссылке?

22

У меня есть один простой текстовый файл, и я хочу скачать этот файл по любой ссылке тега привязки.

Но когда я нажимаю на эту ссылку, файл TXT показывается мне, но не загружается.

Я должен попробовать этот код

<html>
    <head>
        <title>File</title>
    </head>
    <body>
        <a href="test.txt">Click here</a>
    </body>
</html>
возможный дубликатпринудительное скачивание файла Mr. Alien

Ваш Ответ

5   ответов
0

<a href="data:text/plain;charset=UTF-8,test.txt" download>Click here</a>

Или в моем случае мне нужно что-то более динамичное

var downloadFile = function(url){
  let a = document.createElement('a');
  a.href = 'data:text/plain;charset=UTF-8,' + '' + url;
  a.download = url.substr(url.lastIndexOf('/') + 1);
  document.body.appendChild(a);
  a.click();
  document.body.removeChild(a);
}

Основным отличием было добавление

данные: текст / обычный; кодировка = UTF-8,

на мой текстовый файл URL

загрузить файл('Http: //my.txt«);

0

Это загрузит ваш текстовый файл и переименует его:

 <a href="http://www.example.com/myfile.txt" download="My Text File">click here</a>  
его не работает в то есть ...? UiUx
caniuse.com/#feat=download - к сожалению, это не работает в IE & Safari (OSX + iOS) Yves
48

Скачать файл при нажатии на ссылку (вместо перехода к файлу):

<a href="test.txt" download>Click here</a>

Загрузите файл и переименуйте его в mytextdocument.txt:

<a href="test.txt" download="mytextdocument">Click here</a>

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

Этот атрибут используется только если установлен атрибут href.

Значением атрибута будет имя загруженного файла. Ограничения на допустимые значения отсутствуют, и браузер автоматически определит правильное расширение файла и добавит его в файл (.img, .pdf, .txt, .html и т. Д.).

Если значение опущено, используется оригинальное имя файла.

Это работает! Просто и эффективно. Alphaaa
Обратите внимание, что это не работает ни в IE, ни в Safari.caniuse.com/#search=download SKuijers
Не работает в Firefox 45.3.0 Sambit
Он не работает, если файл на другом сайте или другом приложении на вашем собственном сайте. user1156544
4

Content-Disposition заголовок.

Вы можете сделать это с помощью PHP или с.htaccess.

PHP:

<?php
header("Content-Disposition: attachment");
header("Content-Type: text/plain"); // optional
readfile("yourfile.txt");
?>

И тогда вы можете использовать URL-адрес PHP или перенаправить его на TXT. Если вы хотите использовать URL-адрес PHP, но хотите сохранить файл с исходным именем, вы можете поменять эту строку там:

header("Content-Disposition: attachment; filename=yourfile.txt");

.htaccess:

<Files yourfile.txt>
    Header set Content-Disposition attachment
</Files>
0

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

Похожие вопросы