nodeJs传输文件进度条

我想使用node来向其他服务器传输文件
已经使用request或者axios库实现
但是我想获得传输的进度
该如何做?

// request库
let form = {
    type:'zip',
    file:file,
    path:'/temp'
}

request.post({
    url:url,
    formData:form
},(err,res,body)=>{
    if(err){
        console.log(err)
        return
    }
    console.log(body)
    console.log('上传成功')
})
// axios库
let fd = new FormData();
fd.append('type','zip')
fd.append('file', file)
function getHeaders(form) {
    return new Promise((resolve, reject) => {
    form.getLength((err, length) => {
    if(err) { reject(err); }
        let headers = Object.assign({'Content-Length': length}, form.getHeaders());
        resolve(headers);
        });
    });
}
getHeaders(fd)
.then(function(headers){
    axios.post(url, fd, {
        headers:headers,
        onUploadProgress:function(e){
            console.log('0')
        }
    }).then(function(res){
        console.log('上传成功')
    })
})
阅读 3.7k
1 个回答

1。进度和进度条不一样。
2。进度条属于css样式,可以使用js动态实现css进度条,这个不用赘述。
3。我所知的进度,就是(已经接受的文件大小)/(完整文件大小)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题