如何通过JavaScript的Blob对象实现下载文件的示例代码?
- 内容介绍
- 文章标签
- 相关推荐
本文共计349个文字,预计阅读时间需要2分钟。
原文示例:本文实例讲述了JavaScript使用Blob对象实现的下载文件操作。分享给广大开发者参考,具体如下:+ Blob对象 + 前言 + 环境 + 操作 + 总结Blob对象是JavaScript中一个不可变的原始数据对象,用于存储大量数据。非JavaScript原生。
改写后:本文通过实例展示如何用JavaScript的Blob对象实现文件下载。以下为相关内容:+ Blob对象 + 简介 + 适用环境 + 操作方法 + 总结Blob对象代表不可变的数据块,适用于存储大量数据。非JavaScript原生实现。
本文实例讲述了javascript使用Blob对象实现的下载文件操作。分享给大家供大家参考,具体如下:
Blob对象
- 前言
- 环境
- 操作
- 总结
Blob是一个类文件的不可变的原始数据对象,非javascript原生数据类型,File对象就是继承自Blob对象,且在Blob的基础上进行扩展,以便支持用户系统上的文件。
前言
最近在做以post请求方式导出excel时,想到了可以使用Blob对象将后台返回的输出流以arraybuffer或blob的格式接收交给Blob处理,最后使用URL生成链接,供浏览器下载excel。
环境
- vue2.x
- webpack3.x
- axios
操作
import axios from 'axios' /** * 从服务器下载excel */ function downloadExcel (settings) { const defaultOptions = { responseType: 'arraybuffer' } Object.assign(settings.options, defaultOptions) requestToResponse(settings).then(res => { const filename = decodeURI(res.headers['content-disposition'].split('filename=')[1]) if ('download' in document.createElement('a')) { downloadFile(res.data, filename) } else { Message.error('浏览器不支持') } }) } /** * 发送tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。
本文共计349个文字,预计阅读时间需要2分钟。
原文示例:本文实例讲述了JavaScript使用Blob对象实现的下载文件操作。分享给广大开发者参考,具体如下:+ Blob对象 + 前言 + 环境 + 操作 + 总结Blob对象是JavaScript中一个不可变的原始数据对象,用于存储大量数据。非JavaScript原生。
改写后:本文通过实例展示如何用JavaScript的Blob对象实现文件下载。以下为相关内容:+ Blob对象 + 简介 + 适用环境 + 操作方法 + 总结Blob对象代表不可变的数据块,适用于存储大量数据。非JavaScript原生实现。
本文实例讲述了javascript使用Blob对象实现的下载文件操作。分享给大家供大家参考,具体如下:
Blob对象
- 前言
- 环境
- 操作
- 总结
Blob是一个类文件的不可变的原始数据对象,非javascript原生数据类型,File对象就是继承自Blob对象,且在Blob的基础上进行扩展,以便支持用户系统上的文件。
前言
最近在做以post请求方式导出excel时,想到了可以使用Blob对象将后台返回的输出流以arraybuffer或blob的格式接收交给Blob处理,最后使用URL生成链接,供浏览器下载excel。
环境
- vue2.x
- webpack3.x
- axios
操作
import axios from 'axios' /** * 从服务器下载excel */ function downloadExcel (settings) { const defaultOptions = { responseType: 'arraybuffer' } Object.assign(settings.options, defaultOptions) requestToResponse(settings).then(res => { const filename = decodeURI(res.headers['content-disposition'].split('filename=')[1]) if ('download' in document.createElement('a')) { downloadFile(res.data, filename) } else { Message.error('浏览器不支持') } }) } /** * 发送tools.jb51.net/code/HtmlJsRun测试上述代码运行效果。
更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《javascript面向对象入门教程》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》
希望本文所述对大家JavaScript程序设计有所帮助。

