uni-app uni.uploadFile 请求中获取cookies内容在安卓手机上无法获取而ios端可以获取

uni-app uni.uploadFile 请求中获取cookies内容在安卓手机上无法获取而ios端可以获取

4 回复

就你的cookies信息放在哪里了?

更多关于uni-app uni.uploadFile 请求中获取cookies内容在安卓手机上无法获取而ios端可以获取的实战教程也可以访问 https://www.itying.com/category-93-b0.html


app没做过,但我知道app里是没有cookies的(浏览器才有)。你难道没有用官方提供的setStorageSync方法吗?

他说的应该是token,我猜的

在使用 uni.uploadFile 进行文件上传时,如果遇到在安卓设备上无法获取 cookies,而在 iOS 设备上可以正常获取的情况,可能是由于以下几个原因导致的:

1. 跨域问题

  • 原因:在安卓设备上,跨域请求可能会被更严格地处理,导致 cookies 无法正常传递。
  • 解决方案:确保服务器端设置了正确的 CORS 头部,允许跨域请求携带 cookies。例如:
    Access-Control-Allow-Origin: https://your-domain.com
    Access-Control-Allow-Credentials: true
    

2. withCredentials 设置

  • 原因:在 uni.uploadFile 中,默认情况下可能没有设置 withCredentialstrue,导致 cookies 不被发送。
  • 解决方案:在请求中明确设置 withCredentialstrue
    uni.uploadFile({
      url: 'https://your-api-endpoint.com/upload',
      filePath: filePath,
      name: 'file',
      header: {
        'Content-Type': 'multipart/form-data'
      },
      withCredentials: true, // 确保携带 cookies
      success: (res) => {
        console.log('Upload success:', res);
      },
      fail: (err) => {
        console.error('Upload failed:', err);
      }
    });
回到顶部