前端使用 js 下载文件并自定义文件名

2022-8-13 Jon js+jquery+ajax

前端使用 js 下载文件并自定义文件名

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">
  <title>js 下载文件时自定义文件名</title>
</head>
<body>
  
  <div class="wrap">
    <button class="content" onclick="toDownload('http://code.jquery.com/jquery-2.1.1.min.js', '自定义文件名')">下载</button>
  </div>

  <script type="text/javascript">
    function toDownload(url, filename) {
      getBlob(url, function(blob) {
        saveAs(blob, filename);
      });
    }
    function getBlob(url, cb) {
      var xhr = new XMLHttpRequest();
      xhr.open("GET", url, true);
      xhr.responseType = "blob";
      xhr.onload = function() {
        if (xhr.status === 200) {
          cb(xhr.response);
        }
      };
      xhr.send();
    }
    function saveAs(blob, filename) {
      if (window.navigator.msSaveOrOpenBlob) {
        navigator.msSaveBlob(blob, filename);
      } else {
        var link = document.createElement("a");
        var body = document.querySelector("body");

        link.href = window.URL.createObjectURL(blob);
        link.download = filename;

        // fix Firefox
        link.style.display = "none";
        body.appendChild(link);

        link.click();
        body.removeChild(link);

        window.URL.revokeObjectURL(link.href);
      }
    }
    
  </script>
</body>
</html>

标签: js download file

分享这篇文章
赞助鼓励:如果觉得内容对您有所帮助,您可以支付宝(左)或微信(右):

声明:如无特殊注明,所有博客文章版权皆属于作者,转载使用时请注明出处。谢谢!

评论:

fsgt
2022-09-28 10:47
不错的网站
gKvBRaEtbkzwGVUC
2022-09-24 13:50
ugOoDxMWze
VeTpWHUQgrwfBoz
2022-09-15 18:51
rweZWMhqdcB

发表评论:

皖ICP备15010162号-1 ©2015-2022 知向前端
qq:1614245331 邮箱:13515678147@163.com Powered by emlog sitemap