H5移动端附件下载

目录

H5移动端附件下载

1. 使用 window.open() 进行下载

2. 使用 a 标签创建隐藏的可下载链接

3. 使用 iframe 进行下载

4. 使用 FileSaver.js 插件下载

4.1 Vue项目中导入并使用下载附件

4.2 FileSaver.js 的其他知识


H5移动端附件下载

1. 使用 window.open() 进行下载

window.open(file.fileUrl)

2. 使用 a 标签创建隐藏的可下载链接

let ele = document.createElement('a')
ele.download = file.fileName
ele.style.display = 'none'
ele.href = file.fileUrl
document.body.appendChild(ele)
ele.click()
document.body.removeChild(ele)

3. 使用 iframe 进行下载

let myFrame = document.createElement('iframe')
myFrame.src = file.fileUrl
myFrame.style.display = 'none'
document.body.appendChild(myFrame)
window.open(file.fileUrl)

4. 使用 FileSaver.js 插件下载

4.1 Vue项目中导入并使用下载附件

FileSaver.js插件传送门:https://github.com/eligrey/FileSaver.js

# 下载安装 file-saver 插件
$ cnpm install file-saver --save
import { saveAs } from 'file-saver'
saveAs(fileUrl, fileName)

4.2 FileSaver.js 的其他知识

Blob对象概念:https://developer.mozilla.org/zh-CN/docs/Web/API/Blob

  • 保存文本
var FileSaver = require('file-saver');
var blob = new Blob(["Hello, world!"], {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(blob, "hello world.txt");
  • 保存URLs
var FileSaver = require('file-saver');
FileSaver.saveAs("https://httpbin.org/image", "image.jpg");
  • 保存为 canvas
var FileSaver = require('file-saver');
var canvas = document.getElementById("my-canvas");
canvas.toBlob(function(blob) {
    saveAs(blob, "pretty image.png");
});
  • 保存文件
var FileSaver = require('file-saver');
var file = new File(["Hello, world!"], "hello world.txt", {type: "text/plain;charset=utf-8"});
FileSaver.saveAs(file);

猜你喜欢

转载自blog.csdn.net/qq_44848480/article/details/132272057