1. 网站建设定制开发将要下载的文件放在前端项目的 assets 文件夹内
网站建设定制开发我要下载的文件为 src/assrts/xxx/xxx模板.csv
2. 在页面创建下载按钮
3. 导入该文件
4. 在build文件夹下的.base.conf.js 文件中,添加csv(或者其他)解析类型
5. 编写下载方法
参考自:
下载按钮的方法为downloadARJ,根据不同文件的文件格式主要就是修改两个地方:
- 第一个是类型:这个根据你的文件格式去设置; 常用的类型见最后一张图
- 第二个是修改你想自定义的名字。
下载方法的代码
- downloadARJ(){
- const bloc = this.dataURLtoBlob(ArjFileUrl)
- const blob = new Blob([bloc], {
- type: 'text/csv'
- })
- const downLoadEle = document.createElement('a')
- // 通过返回的二进制数据来创建一个对象URL.
- const href = URL.createObjectURL(blob)
- downLoadEle.href = href
- // 信息表为自定义文件名
- downLoadEle.download = 'ARJ模板文件'
- document.body.appendChild(downLoadEle)
- downLoadEle.click()
- document.body.removeChild(downLoadEle)
- // 当加载完成后释放对象URL.
- window.URL.revokeObjectURL(href)
- // window.open(fileurl, '_blank')
- },
- // 将文件对象先转换为了二进制,再调用
- dataURLtoBlob(dataurl) {
- const arr = dataurl.split(',')
- const mime = arr[0].match(/:(.*?);/)[1]
- const bstr = atob(arr[1])
- let n = bstr.length
- const u8arr = new Uint8Array(n)
- while (n--) {
- u8arr[n] = bstr.charCodeAt(n)
- }
- return new Blob([u8arr], {
- type: mime
- })
- },
最后,各类型的type
参考自
- 'ppt' => 'application/vnd.ms-powerpoint',
- 'dir' => 'application/x-director',
- 'js' => 'application/x-javascript',
- 'swf' => 'application/x-shockwave-flash',
- 'xhtml' => 'application/xhtml+xml',
- 'xht' => 'application/xhtml+xml',
- 'zip' => 'application/zip',
- 'mid' => 'audio/midi',
- 'midi' => 'audio/midi',
- 'mp3' => 'audio/mpeg',
- 'rm' => 'audio/x-pn-realaudio',
- 'rpm' => 'audio/x-pn-realaudio-plugin',
- 'wav' => 'audio/x-wav',
- 'bmp' => 'image/bmp',
- 'gif' => 'image/gif',
- 'jpeg' => 'image/jpeg',
- 'jpg' => 'image/jpeg',
- 'png' => 'image/png',
- 'css' => 'text/css',
- 'html' => 'text/html',
- 'htm' => 'text/html',
- 'txt' => 'text/plain',
- 'xsl' => 'text/xml',
- 'xml' => 'text/xml',
- 'mpeg' => 'video/mpeg',
- 'mpg' => 'video/mpeg',
- 'avi' => 'video/x-msvideo',
- 'movie' => 'video/x-sgi-movie',