const FormD=require('form-data')
const axios=require('axios')
const form=new FormD()
const config = { headers: { 'Content-Type': 'multipart/form-data' } }
form.append('media',fs.createReadStream(path.join(__dirname, '/test.jpg')))
let resp=await axios
.post(`https://api.weixin.qq.com/cgi-bin/material/add_material?type=image&access_token=${accessToken}`,form,config)
// resp 返回 503错误
使用request则成功上传
const form = { // 构造表单
media: fs.createReadStream(path.join(__dirname, '/test.png'))
}
let opt = {
url: `https://api.weixin.qq.com/cgi-bin/material/add_material?type=image&access_token=${accessToken}`,
method: 'POST',
formData: form,
json: true
}
let rest = await rp(opt)
请问axios对于formData的处理与request有什么不同?
微信开发文档中
media 是 form-data中媒体文件标识,有filename、filelength、content-type等信息
有对于media的定义,axios在处理form-data的时候是否会缺少某些字段属性?
可以用
request-promise
库。代码类似: