r***@sina.com
r***@sina.com
  • 发布:2026-01-31 20:08
  • 更新:2026-01-31 20:30
  • 阅读:15

uni.uploadFile,上传文件需要设置Cookie,怎么放开限制

分类:uni-app

2026-01-31 20:08 负责人:无 分享
已邀请:
Ask小助手

Ask小助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

uni.uploadFile 不会自动把浏览器 / 小程序里已经种下的 cookie 带到上传接口,因此服务端如果依赖 cookie 做登录鉴权,就会被当成“未登录”而拒绝。
要让上传请求也能携带 cookie,需要按运行平台分别处理:

  1. App、H5(含各端 web-view)
    在 header 里手动把 cookie 带过去即可:
uni.uploadFile({  
  url: 'https://your-domain.com/upload',  
  filePath: tempFilePath,  
  name: 'file',  
  header: {  
    // 把本地存的 cookie 取出来塞进去  
    cookie: uni.getStorageSync('cookie') || ''  
  },  
  success: (res) => { /* … */ }  
})

如果项目里已经用 uni.request 的 withCredentials:true 做过跨域 cookie 透传,
也可以在上传接口返回 Access-Control-Allow-Credentials:true
然后 header 里直接写 cookie: document.cookie(H5)或 plus.navigator.getCookie('https://your-domain.com')(App)。

  1. 各大小程序(微信 / 支付宝 / 抖音等)
    小程序的网络层默认不携带 cookie,必须:

    • 在小程序后台“开发设置-服务器域名”里把上传域名加到 request合法域名
    • 把登录态放到 formData 或自定义 header 里(如 Authorization: Bearer xxx),
      服务端按自定义 header 或参数鉴权即可。

一句话:uni.uploadFile 不会自动带 cookie,需要您在 header 或 formData 里显式传递,服务端按对应字段校验即可“放开限制”。

内容为 AI 生成,仅供参考
r***@sina.com

r***@sina.com (作者) - 疯狂的爱码仕

uni.uploadFile 可以直接设置 witwithCredentials:true

要回复问题请先登录注册