为啥上传文件要使用multipart/form-data

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为啥上传文件要使用multipart/form-data相关的知识,希望对你有一定的参考价值。

参考技术A 最近遇到上传文件的需求:使用了elementui的upload组件:学到了很多知识,这里主要讲讲为什么必须构造表单数据,并使用multipart/form-data content type 请求头。

template:

js:

multipart/form-data 最初由 《RFC 1867: Form-based File Upload in html》 文档定义。

文档简介中说明文件上传作为一种常见的需求,在目前(1995年)的html中的form表单格式中还不支持,因此发明了一种兼容此需求的mime type。

文档中也写了为什么要新增一个类型,而不使用旧有的 application/x-www-form-urlencoded :因为此类型不适合用于传输大型二进制数据或者包含非ASCII字符的数据。平常我们使用这个类型都是把表单数据使用url编码后传送给后端,二进制文件当然没办法一起编码进去了。所以 multipart/form-data 就诞生了,专门用于有效的传输文件。

以上是关于为啥上传文件要使用multipart/form-data的主要内容,如果未能解决你的问题,请参考以下文章

C# Multipart/Form-Data:为啥 PDF 文件上传没有问题但 JPG 失败?

如何使用multipart/form-data格式上传文件

php上传文件为啥一定要用post

postman使用教程16-测试文件上传接口(content-type: multipart/form-data )

上传文件到java后台只能用multipart/form-data格式吗?

Ajax实现文件上传.怎么设置multipart/form-data-Java/JavaEE