uni.uploadFile上传图片后台接收不到数据

今天遇到一个很奇怪的问题,通过使用uni.uploadFile上传文件时后端接收不到文件,查过很多资料,原来是自定义了header的Content-Type问题。取消即可,另把自定义文件上传的代码贴出来。

分析:当我们加上请求头的时候

不加请求头的时候

浏览器会默认帮我们加上请求头,并且默认加上一串boundary信息。

使用'multipart/form-data'需要不需要设置浏览器会自己设置,因为我们设置Content-type会覆盖浏览器自己设置的值,我们不知道formData对象里面的boundary分隔符是什么,所以就会导致后端接受到数据以后在Content-type中找不到boundary或者boundary的值与formData中的boundary不一致,导致无法获取正确的数据

上传文件插件

复制代码
  <uni-file-picker file-extname="jpg,jpeg,gif,png" @select="selectFile"  ref="files" :auto-upload="false"  limit="1" fileMediatype="image"/>

select文件动作保存文件信息

复制代码
methods: {
            selectFile(e){this.fileInfo=e.tempFiles[0];},
            ......
        }

uni.uploadFile(
                        {
                            url:"https://www.chinayq.com/api/user/user.ashx",
                            filePath:that.fileInfo.url,
                            name:"file",
                            header: {
                            //"Content-Type": "multipart/form-data", // 不要自定义Content-Type头
                            "token": uni.getStorageSync('token') // token验证
                            },
                            //formData:that.formData,
                            success:function(res)
                            {
                                
                            }
                            
                        });        
                    })}
相关推荐
小此方3 分钟前
Re:Linux系统篇(二十二)进程篇·七:环境变量的底层溯源、核心获取机制与安全应用
linux·运维·服务器
2601_957786777 分钟前
多平台矩阵运营的底层逻辑:当账号管理、内容生产与线索转化被一条链路串起来
java·数据库·矩阵·多平台管理
旧曲重听17 分钟前
我的Vibe Coding一周记…
前端·人工智能·程序人生·面试
北风toto9 分钟前
原生html中input标签oninput处理器使用
前端
Cloud_Shy6189 分钟前
Linux 系统权限知识及应用实践
linux·运维·服务器·centos·云计算
代码中介商10 分钟前
排序算法完全指南(六):希尔排序深度详解
java·算法·排序算法
kjmkq13 分钟前
2026智算中心液冷服务器机房建设标准及常见方案对比
运维·服务器
腾讯蓝鲸智云17 分钟前
【运维自动化-节点管理】资源配额功能如何使用
运维·服务器·自动化·云计算
一氧化二氢.h21 分钟前
Linux手动脚本 vs Dockerfile部署:核心区别与适用场景
linux·运维·服务器
布吉岛的石头25 分钟前
Java 程序员第 22 阶段:Function Call 工具调用实战,Java 封装大模型外部能力
java·人工智能·python