使用Form表单上传文件

时间:2022-06-01 20:24:30

这里用到HTML 标签的 enctype 属性。

enctype 属性规定在发送到服务器之前应该如何对表单数据进行编码。

默认地,表单数据会编码为 “application/x-www-form-urlencoded”。就是说,在发送到服务器之前,所有字符都会进行编码(空格转换为 “+” 加号,特殊符号转换为 ASCII HEX 值)。而当设置了该编码格式时,不能直接上传文件。

因此,这里我们使用另外一种编码格式,即multipart/form-data,该编码格式不对数据进行编码,而是直接上传二进制数据,form里面的input的值以二进制的方式传过去。

完整示例如下:

<form action="http://localhost/api/index.php"
method="post"
enctype="multipart/form-data">

<input type="file" name="image"/>
<input type="hidden" name="mod" value="user"/>
<input type="hidden" name="act" value="uploadPicture"/>

<button type="submit">提交</button>
</form>