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)
                            {
                                
                            }
                            
                        });        
                    })}
相关推荐
sibylyue2 分钟前
Typescritpt、ES6
前端·javascript·vue.js
用户3076752811273 分钟前
《拒绝卡顿:深入解析 AI 流式 Markdown 的高性能渲染架构》
前端·javascript
Mertens18745 分钟前
Zero-Doc:极简的 Spec Coding 落地指南
前端·javascript·ai编程
毛骗导演5 分钟前
万字解析 OpenClaw 源码架构-跨平台应用之MacOS 应用
前端·架构
Xi-Xu6 分钟前
在云服务器上安全运行 OpenClaw:从安装到加固的完整指南
运维·服务器·人工智能·安全
ZengLiangYi6 分钟前
用 1300 行原生 JS 做了一个 Chrome DevTools 扩展,让前后端不再为接口报错截图扯皮
前端·javascript
A_Qyp6 分钟前
JeechBoot前端表格内操作设置下拉
前端·javascript
YimWu7 分钟前
面试官:OpenCode Agent 代理机制了解吗?
前端·agent·ai编程
IT星宿11 分钟前
smart-unit:一个优雅的 JavaScript 单位转换库,告别繁琐的依赖管理
前端·javascript·typescript
moonlight030413 分钟前
类加载子系统
java·jvm·算法