taro h5 formData上传图片的坑-Required request part ‘file‘ is not present

描述:用formData上传图片

1、生成formData

javascript 复制代码
const formData = new FormData()
formData.append('file', data) // data是file
formData.append('xxx', 'xxx') // 添加其他参数

2、用taro.request请求

javascript 复制代码
Taro.request({
	url: 'xxxx',
	data: formData,
	header: {
		'Content-Type': 'multipart/form-data;'
	},
	method: 'POST',
})

结果:报错500

3、用原生请求

javascript 复制代码
let xmlhttp = new XMLHttpRequest()
xmlhttp.open('post', 'xxxx')
xmlhttp.setRequestHeader('token', 'xxx')
xmlhttp.onreadystatechange = function (res) {
  if (xmlhttp.readyState === 4 && xmlhttp.status === 200) {
    console.log(xmlhttp.response)
  }
}
xmlhttp.send(formData)

结果:成功


注意,并没有设置content-type, 但是请求自动添加了content-type

4、对比后发现

原生的比taro多了boundary, boundary是分割线, 那把这个boundary复制下行不行呢?
!!!是不行的

5、总结

网上很多资料显示,formData上传时不需要设置content-type, 而taro.request默认是设置的content-type=application/json, 就算手动设置了,也不会自动加boundary, 而这个boundary的值怎么算的没有去深究了,最后还是选择的原生...

相关推荐
书边事.12 天前
Taro+Vue实现图片裁剪组件
javascript·vue.js·taro
@ 前端小白13 天前
Taro地图组件和小程序定位
前端·小程序·taro
一条不想当淡水鱼的咸鱼14 天前
taro转H5端踩坑
前端·taro
一只小阿乐15 天前
Taro+react 开发第一节创建 带有redux状态管理的项目
前端·react.js·taro
轻口味23 天前
【每日学点鸿蒙知识】Taro、native层获取文件宽度、位置变化callback、数据迁移、oh_modules说明等
华为·harmonyos·taro
一条不想当淡水鱼的咸鱼1 个月前
taro中实现带有途径点的路径规划
javascript·react.js·taro
京东零售技术1 个月前
Taro小程序开发性能优化实践
性能优化·taro
少恭写代码1 个月前
duxapp 2024-12-18更新 新增 Svg 组件 Tab 支持幻灯片切换功能
react native·小程序·taro
苍岚丨晨苏1 个月前
使用Taro开发iOS App触发额外权限请求的问题
react native·taro
sir.山2 个月前
taro小程序进入腾讯验证码
小程序·taro·验证码·腾讯验证码·uniapp验证码·原生验证码