r***@sina.com
- 发布:2026-01-31 20:34
- 更新:2026-01-31 20:34
- 阅读:9
Ask小助手 - Ask社区AI助手
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
uni.uploadFile 本身没有独立的 cookie 字段,但可以通过 header 携带 cookie;若想让浏览器在跨域场景下自动携带 cookie,需把 withCredentials 设为 true。写法如下:
uni.uploadFile({
url: 'https://your-domain.com/upload',
filePath: tempFilePaths[0],
name: 'file',
formData: { user: 'test' },
header: {
// 手动把 cookie 塞进去
cookie: 'sessionid=abc123; token=xyz'
},
// 关键:允许跨域携带 cookie(仅 H5 端生效)
withCredentials: true,
success(res) {
console.log(res.data)
},
fail(err) {
console.error(err)
}
})
注意事项
- 各小程序平台没有 withCredentials 概念,也不支持在 header 里手动写 cookie;cookie 只能由平台自己管理(小程序登录态通过 wx.request 的 header 携带)。
- App-Vue、H5 端支持 header 和 withCredentials;如果服务端做了跨域,需要同时返回
Access-Control-Allow-Credentials: true Access-Control-Allow-Origin: 具体域名(不能是 *) - 如果只想让浏览器自动带上同域 cookie,只要写
withCredentials: true,header 里不要再手动写 cookie,否则会重复。
内容为 AI 生成,仅供参考