资讯专栏INFORMATION COLUMN

multipart/form-data文件上传

Leo_chen / 3377人阅读

摘要:由于有隔离,所以既可以上传文件,也可以上传键值对。可以上传任意格式的文本,可以上传等只可以上传二进制数据,通常用来上传文件,一次只能上传一个文件。

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:只能上传键值对,并且键值对都是间隔分开的。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/1523.html

相关文章

  • 网页上传文件的原理详解

    摘要:再深入想一想,如果不使用这些库,怎么上传文件可能会难倒很多人,所以这篇文章简单讲讲文件上传的原理,其实就是根据协议的定义,封装一个消息体。 今年第三季度工作上完成了一个比较有意思的项目,类似于外包的性质,主要任务就是提供一大堆API,其中一个API是上传附件,完成开发后,对方的程序员问我,这个API怎么调用,当时我就愣住了,因为自己也没想过这个问题,一般情况下,我就是用 Curl 命令...

    chengjianhua 评论0 收藏0
  • 浅谈contentType = false

    摘要:起初,协议中没有上传文件方面的功能,直到为协议添加了这个功能。而我们在中设置为是为了避免对其操作,从而失去分界符,而使服务器不能正常解析文件。 在刚接触 JQuery 中的 ajax 时,对其 contentType 并没有很在意,只是知晓它是代表发送信息至服务器时内容编码类型,通俗点说就是告诉服务器从浏览器提交过来的数据格式。 默认值为contentType = applicatio...

    renweihub 评论0 收藏0
  • 点击按钮实现文件上传及控制文件上传类型

    摘要:原生实现文件上传部分上传文件部分代替执行上传功能上传文件接口地址实现文件上传上传上传文件接口地址上传文件类型设置 1.原生js实现文件上传 html部分: 上传文件 js部分: upload(event) { //代替执行上传功能 let it = event.target; $(it).next().click(); }, UploadFile() { //上传文...

    lixiang 评论0 收藏0
  • antd 和 element上传文件详解与FormData详解

    摘要:当用户完成选择文件动作时,提交子页面中的。从此我们上传文件就欢欣鼓舞的来找了。因为的核心是对象,异步的实现是通过一个对象,一般简称该对象对。这些回答基于自己理解,如有不妥,希望路过的大神轻喷,指正。 背景 平时工作中经常会遇到需要上传文件的情况,如果你用ant design 或者element ,它们都提供了上传的组件。 我们分别来看一下element 和 antd 手动上传怎么处理:...

    Fundebug 评论0 收藏0

发表评论

0条评论

Leo_chen

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<