一、初识multipart/form-data
enctype:规定了form表单在发送到服务器时候编码方式,它有如下的三个值。
- application/x-www-form-urlencoded:默认的编码方式。但是在用文本的传输和MP3等大型文件的时候,使用这种编码就显得 效率低下。
- multipart/form-data:指定传输数据为二进制类型,比如图片、mp3、文件。当表单包含 type=file 的 元素时使用此值。
- text/plain:纯文体的传输。空格转换为 “+” 加号,但不对特殊字符编码。
因此当表单里有文件等二进制类型的时候,要将form标签的enctype设置为multipart/form-data
enctype和Content-Type
Content-Type是HTTP请求里的一个请求头,会对应我们设置的enctype值。
当form表单没有设置enctype的话,会将Content-Type设置如下的值。
若使用antd upfile组件的时候,它会自动添加enctype为"multipart/form-data"
示例
<html>
<head>
<title>文件上传表单</title>
</head>
<body>
<h3>文件上传:</h3>
选择一个文件上传: <br />
<form action="/file_upload" method="post" enctype="multipart/form-data">
<input type="file" name="image" size="50" />
<br />
<input type="submit" value="上传文件" />
</form>
</body>
</html>