当前位置:   article > 正文

js根据路径下载文件及自定义下载文件名称_response-content-type=application/octet-stream

response-content-type=application/octet-stream

第一种方法下载文件(多文件时无法全部修改文件名称)

  1. // 使用创建iframe标签的方式来下载文件
  2. // 注意 1、 yourURl 是你要下载文件的链接路径
  3. // 2、 ?response-content-type=application/octet-stream 这段拼的参数
  4. //你也可以去掉看看能否下载,因为我的下载路径是 阿里的oss 需要带参数才能能实现下载,否则是线上预览功能,
  5. //这里如果你的后端给你的路径已经做处理了那么你就不用带我这个参数了
  6. var elemIF = document.createElement("iframe");
  7. elemIF.src = `${yourURl}?response-content-type=application/octet-stream`;
  8. elemIF.style.display = "none";
  9. document.body.appendChild(elemIF);
  10. // 3、使用iframe 方法能够实现多图片下载 放在for循环中
  11. for(let attr in this.yourUrlList){
  12. var elemIF = document.createElement("iframe");
  13. elemIF.src = `${this.yourUrlList[attr]}?response-content-type=application/octet-stream`;
  14. elemIF.style.display = "none";
  15. document.body.appendChild(elemIF);
  16. }

2、第二种方法实现文件下载并修改下载文件的名称

  1. function getBlob(url, cb) {
  2. var xhr = new XMLHttpRequest();
  3. xhr.open("GET", url, true);
  4. xhr.responseType = "blob";
  5. xhr.onload = function() {
  6. if (xhr.status === 200) {
  7. cb(xhr.response);
  8. }
  9. };
  10. xhr.send();
  11. }
  12. function saveAs(blob, filename) {
  13. if (window.navigator.msSaveOrOpenBlob) {
  14. navigator.msSaveBlob(blob, filename);
  15. } else {
  16. var link = document.createElement("a");
  17. var body = document.querySelector("body");
  18. link.href = window.URL.createObjectURL(blob);
  19. link.download = filename;
  20. // fix Firefox
  21. link.style.display = "none";
  22. body.appendChild(link);
  23. link.click();
  24. body.removeChild(link);
  25. window.URL.revokeObjectURL(link.href);
  26. }
  27. }
  28. function download(url, filename) {
  29. getBlob(url, function(blob) {
  30. saveAs(blob, filename);
  31. });
  32. }

上述方法实现下载时只需要在 download(url,filename)中传入下载的路径及你定义的文件名称即可 ,在进行多文件下载时,把方法放到for循环里即可

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Cpp五条/article/detail/63651
推荐阅读
相关标签
  

闽ICP备14008679号