form-data传数据为什么实体有两种显示

1 fetch post formdata请求是这样
image.png
2 用axios post formdata是这样
image.png

阅读 3k
1 个回答

这个和 Content-Type 有关,上面的是 Content-Type: multipart/form-data; boundary=something类型的,多个部分组成,每个部分有自己的Content-Type(MIME)类型,适合转输二进制文件和大数据,boundary是每次生成的分隔各部分标识,确保不会把数据搞乱,下面这种像是 Content-Type: application/x-www-form-urlencoded 类型,发送到服务器的HTTP消息的主体实质上是一个巨大的查询字符串,即键值对,多个键值对间用&分隔,键与值用等号(=)分隔。例如: 

MyVariableOne=ValueOne&MyVariableTwo=ValueTwo

这种编码方式,非字母数字字符被替换为'%HH',一个百分号和两个十六进制数字,代表该字符的ASCII码。这意味着对于值中存在的每个非字母数字字节,将需要三个字节来表示它。对于大型二进制文件,将有效载荷增加三倍将是非常低效的。
x-www-form-urlencoded也是可以上传文件的,但相对低效,且不会自动发送原始文件名。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题