当前位置:网站首页>如何正确地把服务器端返回的文件二进制流写入到本地保存成文件
如何正确地把服务器端返回的文件二进制流写入到本地保存成文件
2022-07-31 11:25:00 【华为云】
我使用 Node.js 的 request 工具库,请求服务器端的视频文件,保存到本地之后,发现了问题。
我把 url 输入到浏览器里,手动下载视频文件后,文件大小为 70 多 KB:

然而使用 Node.js 代码请求文件数据并保存到本地,发现文件尺寸变成 100 多 KB 了,显然不正确:

经过研究发现,需要使用 request 在发起数据请求之前,添加如下一行语句:
request.defaults({ encoding: null });完整的数据请求的代码:
var requestC = request.defaults({ encoding: null }); console.log("get video via url: " + url ); const fileName = getVideoPartNameByUrl(url); requestC(getVideoOptions,function(error,response,body){ if(error){ console.log("error occurred: " + error); reject(error); } resolve({ fileName: fileName, fileContent: body }); }); 文件写入的代码:
fs.writeFile(oVideo.fileName, oVideo.fileContent, "binary", function (error) { if(error) console.log("file writes error"); else{ console.log("File: ", oVideo.fileName, " writes ok"); } });之后问题消失。
边栏推荐
- R语言做面板panelvar例子
- 3D激光SLAM:LeGO-LOAM论文解读---完整篇
- Inversion problem - key point
- CoCube群机器人预览→资讯剧透←
- The principle of v-model
- mysql automatically adds creation time and update time
- apisix-入门使用篇
- MySQL index usage and optimization
- 7 天找个 Go 工作,Gopher 要学的条件语句,循环语句 ,第3篇
- [Part 1 of Cloud Native Monitoring Series] A detailed explanation of Prometheus monitoring system
猜你喜欢
![[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process](/img/23/d4754ec38e50f320fc4ed90a1e5bbc.png)
[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process

R语言做面板panelvar例子

学习爬虫之Scrapy框架学习(1)---Scrapy框架初学习及豆瓣top250电影信息获取的实战!

新人学习小熊派华为iot介绍

Intranet Penetration Learning (IV) Domain Lateral Movement - SMB and WMI Service Utilization

台达PLC出现通信错误或通信超时或下载时提示机种不符的解决办法总结

Redis缓存面临的缓存穿透问题

IDEA configure method annotation automatic parameters

Docker实践经验:Docker 上部署 mysql8 主从复制

最全phpmyadmin漏洞汇总
随机推荐
掌握SSR
【虚拟化生态平台】平台架构图&思路和实现细节
便利贴--46{基于移动端长页中分页加载逻辑封装}
7 days to learn Go, Go structure + Go range to learn
The item 'node.exe' was not recognized as the name of a cmdlet, function, script file, or runnable program.
AtCoder—E - Σ[k=0..10^100]floor(X/10^k
[Virtualization ecological platform] Raspberry Pi installation virtualization platform operation process
7 天能找到 Go 工作吗?学学 Go 数组和指针试试
学习爬虫之Scrapy框架学习(1)---Scrapy框架初学习及豆瓣top250电影信息获取的实战!
Android studio连接MySQL并完成简单的登录注册功能
Master SSR
数据持久化技术——MP
Acwing-考研机试题
最新MySql安装教学,非常详细
ApiPost 真香真强大,是时候丢掉 Postman、Swagger 了
准确率(Accuracy)、精度(Precision)、召回率(Recall)和 mAP 的图解
无法将“node.exe”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。
mpu9150(driverack pa简明教程)
2022/7/30
Docker build Mysql master-slave replication