function fetchPost(path,params){ return new Promise( (resolve,reject)=>{ let formData = { file:fs.createReadStream(__dirname+'/../static/images/icon-arrow.png') } request.debug = true request.post(path,{ formData },function(err, httpResponse, body){ if(err){ reject(err) }else{ resolve(body) } }) }) }
可以看到后端接收到到 content-type 为 multipart/form-data , 我们并没有手动的去设置请求的 content-type 会自动添加上。
下面代码会将接收到到文件流写入到后端local。可以看到 icon-arrow.jpg 已经成功的从中间层发送到后端
application/json
将参数通过 body 传递,并且设置 json为ture,那么请求时会自动将 content-type 设置为 application/json 并且将传递给 body 的对象转义为 JSON
function fetchPost(path,params){ return new Promise( (resolve,reject)=>{ request.debug = true console.log('*'.repeat(40)); request.post(path,{ baseUrl:"http://localhost:9000/react/", body:params, json:true },function(err, httpResponse, body){ if(err){ reject(err) }else{ resolve(body) } }) }) }
header
request.post(path,{ form:params, headers:{ // 'content-type':'application/json', // ... 任意其他字段 name:'dd', agent:'request' } })
通过id号来区分当前进程,
可以通过 pm2 start app.js --name 请求端 来定义进程名称
最后
关于 reqeust 也是刚刚使用,有好的使用案例可以在评论区分享,值得优化的地方可以留言给我。