欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

multipart/form-data文件上传

程序员文章站 2022-10-16 12:07:01
form表单的enctype属性:规定了form表单数据在发送到服务器时候的编码方式 application/x www form urlencoded:默认编码方式 multipart/form data:指定传输数据为二进制数据,例如图片、mp3、文件 text/plain:纯文本的传输。空格转 ......

form表单的enctype属性:规定了form表单数据在发送到服务器时候的编码方式

  • application/x-www-form-urlencoded:默认编码方式
  • multipart/form-data:指定传输数据为二进制数据,例如图片、mp3、文件
  • text/plain:纯文本的传输。空格转换为“+”,但不支持特殊字符编码。

多部件请求体

post / http/1.1
host: localhost
cache-control: no-cache
postman-token: aa6340a3-4e9b-448c-be76-e6de91258d81
content-type: multipart/form-data; boundary=----webkitformboundary7ma4ywxktrzu0gw

content-disposition: form-data; name="file"; filename="/users/zhuyx/documents/test.png



content-disposition: form-data; name="token"

text
------webkitformboundary7ma4ywxktrzu0gw--
--------------------- 
  • 多部件请求体:就是把每一个表单项分隔为一个部件。
  • 表单项分为普通表单项和文件表单项
  • multipart/form-data类型的body为多部请求体

postman body支持类型

1、form-data

  • http请求中的multipart/form-data,会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。
  • 既可以上传键值对,也可以上传文件
  • 当上传的字段是文件,会使用content-type表明文件类型;content-disposition说明字段的一些信息。
  • 由于有boundary隔离,所以multipart/form-data既可以上传文件,也可以上传键值对。

2、application/x-www-from-urlencoded

  • 会将表单内的数据转换为键值对。

3、raw

  • 可以上传任意格式的文本,可以上传text、json、xml、html等

4、binary/application/octet-stream

  • 只可以上传二进制数据,通常用来上传文件,一次只能上传一个文件。

5、multipart/form-data与application/x-www-from-urlencoded区别

  • multipart/form-data:既可以上传二进制数据,也可以上传表单键值对,只是最后会转化为一条信息
  • x-www-from-urlencoded:只能上传键值对,并且键值对都是间隔分开的。