代码之家  ›  专栏  ›  技术社区  ›  Venkat

如何在HTML中创建下载链接?

  •  192
  • Venkat  · 技术社区  · 16 年前

    我对HTML有一个基本的概念。我想在我的示例网站中创建下载链接,但我不知道如何创建它。如何创建下载文件而不是访问文件的链接?

    10 回复  |  直到 9 年前
        1
  •  137
  •   Community Mohan Dere    9 年前

    这个答案过时了。我们现在有 download 描述的属性 here .

    如果“下载链接”是指指向要下载的文件的链接,请使用

      <a href="http://example.com/files/myfile.pdf" target="_blank">Download</a>
    

    这个 target=_blank 将在下载开始前显示一个新的浏览器窗口。当浏览器发现资源是文件下载时,该窗口通常会关闭。

    请注意,浏览器已知的文件类型(例如JPG或GIF图像)通常会在浏览器中打开。

    您可以尝试发送正确的邮件头来强制下载,例如 here . (需要服务器端脚本或访问服务器设置。)

        2
  •  398
  •   Eric Reed    10 年前

    在支持HTML5的现代浏览器中,可以执行以下操作:

    <a href="link/to/your/download/file" download>Download link</a>
    

    您还可以使用:

    <a href="link/to/your/download/file" download="filename">Download link</a>
    

    这将允许您更改实际下载的文件的名称。

        3
  •  19
  •   Myobis    12 年前

    HTML5的附加(或替换) <a download 已经提到的属性,
    浏览器的 下载到磁盘 行为也可以由以下HTTP响应头触发:

    Content-Disposition: attachment; filename=ProposedFileName.txt;
    

    这是HTML5之前的做法(仍然适用于支持HTML5的浏览器)。

        4
  •  9
  •   Oded    16 年前

    下载链接是指向要下载的资源的链接。它的构造方式与任何其他链接的构造方式相同:

    <a href="path to resource.name of file">Link</a>
    
    <a href="files/installer.exe">Link to installer</a>
    
        5
  •  8
  •   Delan Azabani    16 年前

    要链接到文件,请执行与任何其他页面链接相同的操作:

    <a href="...">link text</a>
    

    要强制下载内容,即使它们有嵌入式插件(windows+quicktime=ugh),您可以在htaccess/apache2.conf中使用:

    AddType application/octet-stream EXTENSION
    
        6
  •  3
  •   johan    11 年前

    这个线程现在可能已经很古老了,但是它在HTML5中对我的本地文件有效。

    对于PDFS:

    <p><a href="file:///........example.pdf" download target="_blank">test pdf</a></p>

    这将在新窗口中打开PDF,并允许您下载它(至少在Firefox中)。对于任何其他文件,只需将其设置为文件名即可。但是,对于图片和音乐,您希望将它们存储在与您的站点相同的目录中。所以它会像

    <p><a href="images/logo2.png" download>test pdf</a></p>
    
        7
  •  0
  •   Ian Thompson    10 年前

    下载属性是 <a> HTML5中的标签

    <a href="http://www.odin.com/form.pdf" download>Download Form</a>
    或
    <a href="http://www.odin.com/form.pdf" download="Form">Download Form</a>

    我比较喜欢第一个,在任何扩展方面都比较好。

        8
  •  0
  •   Bill Coffin    10 年前

    下载属性在IE中不起作用,它完全忽略了“下载”。如果href指向远程站点,则下载在Firefox上不起作用。所以Odin的例子不适用于火狐41.0.2。

        9
  •  -3
  •   Con    16 年前

    这样地

    <a href="www.yoursite.com/theThingYouWantToDownload">Link name</a>
    

    网站example.com上的文件名.jpg如下所示

    <a href="www.example.com/name.jpg">Image</a>
    
        10
  •  -4
  •   Sikander    10 年前

    我知道我迟到了,但这是我找了一个小时后得到的。

     <?php 
          $file = 'file.pdf';
    
        if (! file) {
            die('file not found'); //Or do something 
        } else {
           if(isset($_GET['file'])){  
            // Set headers
            header("Cache-Control: public");
            header("Content-Description: File Transfer");
            header("Content-Disposition: attachment; filename=$file");
            header("Content-Type: application/zip");
            header("Content-Transfer-Encoding: binary");
            // Read the file from disk
            readfile($file); }
        }
    
        ?>
    

    对于可下载的链接,我这样做了

    <a href="index.php?file=file.pdf">Download PDF</a>
    
    推荐文章