zoukankan      html  css  js  c++  java
  • jQuery --- 利用a标签的download属性下载文件!

    最近遇到一个项目,需要有点击下载文件的功能。

    由于文件格式是多种的,对于 rar / zip / rtf / doc / xlsx / jpg等。 点击下载有的是直接跳转到后进行下载,但有的是打开进行预览,例如:txt / img / pdf 这些文件的下载可以使用 a 标签的download 属性来进行下载:

    参考:

    http://www.w3school.com.cn/tags/att_a_download.asp
    https://blog.csdn.net/cynl7/article/details/78785697

    具体实现:

    <foreach name="data.attachment" item="v">
    <li class="o">
        <a style="color:#959595;" href="{$v.path}" download="{$v.name}" data-name="{$v.name}" class="fr">下载</a>
        <a style="color:#959595;" href="{$v.path}" download="{$v.name}" data-name="{$v.name}" class="fl ts300">{$v.name}</a>
    </li>
    </foreach> 

    下面是用JS实现的:

    <ul class="ziZhilist">
        <foreach name="data.attachment" item="v">
        <li class="o">
            <a href="javascript:;" style="color:#959595;" data-href="{$v.path}" data-name="{$v.name}" class="fr">下载</a>
            <a href="javascript:;" style="color:#959595;" data-href="{$v.path}" data-name="{$v.name}" class="fl ts300">{$v.name}</a>
        </li>
        </foreach> 
    </ul>
    <script type="text/javascript">
    (function(){
    var hostUrl = "http://"+"<?php echo $_SERVER['HTTP_HOST']; ?>";
    $("ul.ziZhilist li").find("a").click(function(){
        var link = document.createElement('a');
        link.setAttribute("download",$(this).attr("data-name"));
        link.href = hostUrl+$(this).attr("data-href");
        link.click(); 
    });
    })();
    </script>

    这种方法还是比较简单的。

  • 相关阅读:
    vue 给嵌套的iframe子页面传数据 postMessage
    左边宽度固定,右边宽度自适应的三种写法
    全局变量声明的规范化
    利用__index和__newindex实现默认值表、监控表、只读表
    Metatable和Metamethod
    Lua中的协同程序 coroutine
    Lua中的require
    Lua基础
    D3D的绘制
    效率相关笔记
  • 原文地址:https://www.cnblogs.com/e0yu/p/8758504.html
Copyright © 2011-2022 走看看