微信小程序FormData实战详解,轻松搞定文件上传与数据提交

文章分类:新闻资讯 发布时间:2026-07-16 原文作者:api 阅读( )

微信小程序开发的人,十有八九都踩过文件上传的坑。你辛辛苦苦写好一个表单,用户传了张图片,结果后端告诉你“数据格式不对”——这种尴尬我太懂了。其实问题往往出在 FormData 的使用上。微信小程序的 FormData 跟浏览器里的那套不太一样,它有自己的脾气。很多人直接把 Web 那套搬过来用,结果接口报错、文件传不上去,只能抱着文档哭。今天咱们就掰开揉碎聊聊,怎么在微信小程序里用 FormData 搞定文件上传和数据提交,保证你读完就能上手干活。

先说最核心的区别:微信小程序没有真正的 FormData 对象。你在浏览器里写的 `new FormData()`,在小程序里根本跑不动。因为小程序的运行环境不是标准的 DOM 环境,它没有 `FormData` 构造函数。官方给的办法是用 `wx.uploadFile` 接口,但这个接口只能传一个文件加一堆普通字段;如果要传多个文件,或者要传复杂的数据结构,它就抓瞎了。于是很多人开始魔改代码,拼字符串、转 base64,弄出一堆屎山。其实有个更干净的方案:自己模拟 FormData。说白了,FormData 本质上就是一段 `multipart/form-data` 格式的 HTTP 请求体,只要能拼出符合

原文来自:api