如何监听 http 上传进度

nuoyantaizi 2020-12-01 12:31:14
我知道通过XHR上传文件,是有个onprogress事件的,可以监听到上传进度。

但是我当前是想通过服务端程序模拟http请求,所以我要如何知道上传进度呢?

目前我的环境是:nodejs,下面的代码就是,我使用http.request进行文件上传,但是不知道从哪获取进度。既然XHR都能实现,难道nodejs就不能实现了?如果大家提供另一个插件,请告知一下,其实我最想知道获取上传进度的原理。谢谢了!

let c = http.request("http://syfosy.com/t.php",{
method:"POST",
headers: {"content-type":"multipart/form-data;boundary=gc0p4Jq0M2Yt08j34c0p"}
},res=>{
console.log(res.statusMessage)
});
c.on("response", (i)=>{
console.log(i)
})
c.write("--gc0p4Jq0M2Yt08j34c0p\r\n")
c.write("content-disposition: form-data;filename=1.txt;name=a\r\n");
c.write("\r\n")
// let r = fs.createReadStream("C:/Users/Administrator/Desktop/zhang san/2/y00045625_20190529_2_12.dcm");
let r = fs.createReadStream("C:/Users/Administrator/Desktop/zhang san/1.jpg");

r.on("readable",()=>{
console.log('readable')
r.read()

})
r.on("data", d=>{
console.log(d.length)
c.write(d)
})
r.on("end",()=>{
console.log("end")
c.write("\r\n")
c.write("--gc0p4Jq0M2Yt08j34c0p--")
c.end();
})
...全文
96 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

87,987

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧