HTTP 文件上传概述
RFC1867中定义了使用HTTP进行文件上传。该上传文件方法基于HTML表单。通常用HTML
POST 方法代替GET 来发送原始二进制数据。
下面是一个实现基于表单的文件上传的HTML 代码示例:
<form action ="/upload.cgi" enctype="multipart/form-data" method="post">
<p>Please specify a binary file to upload into STM32F107 flash:
<br>
<input type="file" name="datafile" size="40">
</p>
<div>
<input type="submit" value="Upload">
</div></form>
用户可以浏览选择一个二进制文件上传,然后按下上传按钮发送它。
根据文件大小,数据以连续的TCP 段形式发送给web 服务器。
注: 发送文件数据前, web 客户端发送包括文件名、内容长度等信息的HTTP 头数据,其中一些
信息必须由web 服务器进行解析。
不同的web 客户端并不总是拥有相同的HTTP 头格式。图 6 显示了POST 请求的Internet
Explorer HTTP 头格式。图 7 显示了Mozilla Firefox HTTP 头格式。
http web 服务器必须能够处理这些不同格式。 |