服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

用javabean实现文件上载(2)


  用javabean实现文件上载(2)

   打开demo.out文件,我们可以看到如下内容:


-----------------------------7d15340138
content-disposition: form-data; name="author"

a. christie
-----------------------------7d15340138
content-disposition: form-data; name="company"

abisco
-----------------------------7d15340138
content-disposition: form-data; name="filename"; filename="c:/123data/abisco.html"
content-type: text/html

<html>
<head>
<title>abisco</title>
</head>
</html>

-----------------------------7d15340138--


   可以看到,http请求体内包含了所有的表单输入,包括上载的文件。这些输入数据的分隔由一个分隔符实现。分隔符由一系列的“-”字符和一个随机数字构成。在上面的例子中,分隔符为“-----------------------------7d15340138”。最后一个分隔符结束请求体,这个分隔符的后面多出两个“-”符号。

   对于非文件类型的输入数据,分隔符后面跟着下面这行内容:content-disposition: form-data; name=inputname。其中inputname是表单元素的名字。例如:content-disposition: form-data; name="author"。在这行内容的后面,紧跟着两个连续的回车换行符和表单元素值。

   而对于文件型输入域,分隔符的后面有两行内容。第一行内容包含输入元素的名字以及上载文件在客户端的完整路径,如上例中这行内容是“content-disposition: form-data; name="filename"; filename="c:/123data/abisco.html"”。这行内容指出文件输入元素的名字是filename,文件的路径是“c:/123data/abisco.html”。注意windows浏览器会设置文件路径,而unix/linux以及mac浏览器只发送文件名字。

   第二行包含了文件的内容类型,因此它的具体内容和上载的文件有关。本例中第二行的内容是“content-type: text/html”。

   和非文件输入元素一样,文件内容在两个连续的回车换行符之后正式开始。
(未完待续)

扫描关注微信公众号