我应用 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"); } });
之后问题隐没。
更多Jerry的原创文章,尽在:"汪子熙":