通常、ダウンロード要件を実装する場合、aタグを使用してaタグのhrefを設定し、ダウンロードが必要なリソースパスのクリックイベントを呼び出すことでダウンロードが実現されますが、必要なリソースの種類が異なる場合、aタグのhrefを設定することでダウンロードが実現されます。ダウンロードするファイルが txt など、ブラウザが解析できるものである場合
、ブラウザはダウンロードをトリガーせず、リソースのプレビューを直接開きます。
このとき、a タグに download 属性を追加できます。ダウンロードを通じて、ダウンロードしたファイル名とサフィックスを設定します。この時点では、どのタイプのリソースもダウンロードできます。
ただし、リソースが同じソースからのものでない場合、ブラウザーはプレビューを直接開きます。
1. ダウンロード方法
a标签实现下载:
设置a标签的download属性 并调用click方法
window.open()实现下载
widnow.open('下载的地址') 利用打开新tab方式实现下载
如果资源是浏览器无法解析的类型 会关闭tab 触发下载
但是如果资源是浏览器可以解析的类型 还是会直接打开预览
构造表单方式
构造表单方式即是通过动态创建表单元素
设置action为资源下载路径
设置表单隐藏并调用表单的submit方式
同样针对浏览器无法解析的类型会下载 浏览器可解析的资源类型会直接打开预览
2.downloadjsの使用
1.vueページのインストールと基本的な使い方
npm install downloadjs -D
vueページで使用する
<el-button plain type="info" icon="el-icon-download" @click="onDownload">下载</el-button>
import download from "downloadjs"
onDownload(){
const fileName = '自己的文件名.自己的文件格式(.json/.txt等)';
const text = JSON.stringify(this.stsbResultAll) # 自己文件的内容
download(text, fileName, "text/plain");
}
2.downloadjsの基本的な使い方
download.js是将下载的所有方式进行结合 针对不同情况内部做了处理
基本使用:
1、将数据资源写入文件中并下载
var blob = new Blob(['哈哈哈哈']);
download(blob,'test1.txt','text/plain')
2、生成txt文件并下载
conat str ='hello';
download(str,'test2.txt','text/plain')
.......