zoukankan      html  css  js  c++  java
  • 前端实现文件下载功能

    在很多后台管理系统里可能会有导出表格,下载表格,下载压缩包等这样的需求。下面说几种简单的下载的方法:
    
    1.最简单的,有文件的地址,直接使用a标签实现下载(通用模板前端本地下载):
    
        <a href="/user/test/xxxx.xls" download="文件名.xls">点击下载</a>
    
      但是有个情况,比如txt,png,jpg等这些浏览器支持直接打开的文件是不会执行下载任务的,而是会直接打开文件,这个时候就需要给a标签添加一个属性“download”;
    如果再vue项目中需要下载文件需要放在public文件夹下 需要下载的路径是相对于index.html文件路径 否则会提示下载文件未找到
    
    2.window.open()方法,后端提供下载接口:
    
    html:
    
    <button type="button" id="btn1">window.open()方法下载</button>
    
    js:
    (最简单:window.location.href="xxxxx后端给的下载地址")
    var $eleBtn1 = $("#btn1");
    
    
    //已知一个下载文件的后端接口:
    https://codeload.github.com/douban/douban-client/legacy.zip/master
    //方法一:window.open()
    $eleBtn1.click(function(){
    	var url = "https://codeload.github.com/douban/douban-client/legacy.zip/master";
    	window.open(url);
    });
    
    3.通过form表单提交的方式:
    
    
    html:
    
    <button type="button" id="btn2">form方法下载</button>
    
    js:
    
    var $eleBtn2 = $("#btn2");
    
    //已知一个下载文件的后端接口:
    https://codeload.github.com/douban/douban-client/legacy.zip/master
    $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();
    });
    

      

  • 相关阅读:
    [上海线下活动]IT俱乐部新春首期活动: 高级Windows调试
    清除www.fa899.com
    [新功能]总是只列出标题
    [功能改进]更多的列表数定制
    新增Skin使用排行榜
    华硕P5GDCV Deluxe主板更换RAID 1中的故障硬盘步骤
    [WebPart发布]网站链接WebPart
    [通知]19:3020:30进行服务器维护
    [小改进]个人Blog首页显示随笔摘要
    新增两款Skin(clover与Valentine)
  • 原文地址:https://www.cnblogs.com/xzybk/p/12696012.html
Copyright © 2011-2022 走看看