作为一个web前端
开发,对axios
肯定不陌生,但是在前端开发中,一般是使用axios
来请求后端接口,获取数据。而使用node
+axios
下载网络文件到本地磁盘可能很少接触,搜索了很多相关的博客文章,讲解的好像都不够清晰明了,所以本文就记录一下实践方法。
初始化项目
1 | npm init -y |
安装axios
1 | npm i -S axios |
实现逻辑
- 根目录下新建
app.js
1 | // app.js |
说明:
axios
的参数headers
中Content-Type
默认是application/json
,需要设置为multipart/form-data
;responseType
默认是json
,需要设置为arraybuffer
(二进制格式);writeFile
方法的第三个参数encoding
默认是utf8
,必须设置为binary
(二进制格式),如果不设置,下载的文件打不开。console.time
和console.timeEnd
是node中提供的计时方法。
执行
1 | node app.js |
- 输出
1 | 下载成功 |
如果想要批量爬取某个网站的图片或其他文件,可以使用node
爬虫工具cheerio
来实现。
参考文档:
- http://nodejs.cn/api/fs.html#fs_fs_writefile_file_data_options_callback
- http://www.axios-js.com/docs/#Request-Config
相关文章
- node+axios实现服务端文件上传
- node+axios下载外网文件到本地
- nodejs+axios爬取html出现中文乱码
- Blob与File、DataURL、canvas的相互转换
- JS中ArrayBuffer、Uint8Array、Blob与文本字符之间的相互转换
欢迎访问:个人博客地址
本文作者: Tiven
发布时间: 2021-10-12
最后更新: 2023-03-02
本文标题: node+axios下载外网文件到本地
本文链接: https://www.tiven.cn/p/9b735250/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!
发布时间: 2021-10-12
最后更新: 2023-03-02
本文标题: node+axios下载外网文件到本地
本文链接: https://www.tiven.cn/p/9b735250/
版权声明: 本作品采用 CC BY-NC-SA 4.0 许可协议进行许可。转载请注明出处!