标签:构造函数 原因 display vue 默认值 document office options file
此方法主要用于我们将某些信息,下载成固定的文件格式,如word或记事本等等,
核心的方法有两个一个是Blob构造函数,一个是window.URL.createObjectURL()。
var aBlob = new Blob( array, options );
参数Array:是一个由ArrayBuffer
ArrayBufferView
Blob
Blob 对象表示一个不可变、原始数据的类文件对象。DOMString
等对象构成的 Array
,或者其他类似对象的混合体,它将会被放进 Blob
。DOMStrings会被编码为UTF-8。
参数options:
1、type 用来表示文件类型,例如 ‘text/json‘ 代表一个JSON文件,‘text/html‘代表一个HTML文件。
2、endings 默认值为"transparent",用于指定包含行结束符\n的字符串如何被写入。 它是以下两个值中的一个: "native",表示行结束符会被更改为适合宿主操作系统文件系统的换行符; "transparent",表示会保持blob中保存的结束符不变。
Vue.prototype.shandlerLocationDown = (_url, title, lastName = ‘.txt‘, typeMethod = ‘get‘, params = {}) => { axios({ 文件的后缀名,根据不同文件更换 method: ‘get‘, url: _url, responseType: ‘blob‘, data: params, }).then((res) => { const data = res.data; if (!data) { return; } let blob = new Blob([data], { // type: ‘application/vnd.openxmlformats-officedocument.wordprocessingml.document;charset=utf-8‘, // ‘Content-type‘: ‘application/octet-stream‘,
}); let url = window.URL.createObjectURL(blob); let fileName = lastName != null ? title + lastName : title; if (‘download‘ in document.createElement(‘a‘)) {//通过 使用a标签的download方法下载文件 const a = document.createElement(‘a‘); a.href = url; a.download = fileName; a.style.display = ‘none‘; document.body.appendChild(a); a.click(); URL.revokeObjectURL(a.href); URL.revokeObjectURL() 静态方法用来释放一个之前通过调用 URL.createObjectURL() 创建的已经存在的 URL 对象。当你结束使用某个 URL 对象时,应该通过调用这个方法来让浏览器知道不再需要保持这个文件的引用了。
document.body.removeChild(a); } else { navigator.msSaveBlob(blob, fileName);
}
});
};
标签:构造函数 原因 display vue 默认值 document office options file
原文地址:https://www.cnblogs.com/ybhome/p/13534071.html