【HTML】点击直接下载文件

本文介绍网页上实现文件下载的两种常见方法:通过<a>标签的download属性及按钮监听实现文件下载。前者适用于直接点击链接下载文件场景,后者则通过按钮触发window.open()或表单提交来下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、使用<a>标签

<a href="/user/test/xxxx.txt" download="文件名.txt">点击下载</a>

这样当用户打开浏览器点击链接的时候就会直接下载文件。

但是有个情况,比如txt,png,jpg等这些浏览器支持直接打开的文件是不会执行下载任务的,而是会直接打开文件,这个时候就需要给a标签添加一个属性“download”;

实例如下:

移到标签<a>标签上可以显示文件路径,根据路径提示进行文件路径的补全

<!DOCTYPE html> 
<html> 
    <head> 
        <metacharset="UTF-8"> 
        <title></title> 
    </head> 
    <body> 
        <a href="321.png" download="test.png">点击下载</a>   
    </body> 
</html>

若需从网页上传的图片中进行下载,可能会用到以下方法:

获取主机域名:location.hostname

获取端口号:location.port

2、使用按钮进行监听

按钮监听又可以分为两种方法,一是window.open()

var $eleBtn1 = $("#btn1"); 
var $eleBtn2 = $("#btn2"); 

//已知一个下载文件的后端接口:https://codeload.github.com/douban/douban-client/legacy.zip/master 

//方法一:window.open() 
$eleBtn1.click(function(){ 
    window.open("https://codeload.github.com/douban/douban-client/legacy.zip/master"); 
});

二是表单提交


//方法二:通过form 

$eleBtn2.click(function(){ 
    var$eleForm = $("<form method='get'></form>");
    $eleForm.attr("action","https://codeload.github.com/douban/douban-client/legacy.zip/master"); 
    $(document.body).append($eleForm); 

    //提交表单,实现下载 
    $eleForm.submit(); 
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值