00:00
好,下边我们呢,跑一下这个程序。来我们在他开的九上运行啊。姓名啊,我们现在啊,不考虑这个乱码问题,我们就用拼音了,因为我们现在研究的重点是文件上传啊,乱码的问题,我们已经。之前在。啊,之前的专题里边解决过了。李四24。这个文件呢。我刚才在这儿建了一个文本文件。内容,北京pono。我们就选择这个文件,先不说照片啊,因为照片,呃,这个我们大家看那个内容呢,呃,看的不不是很清楚,我们看文本看得会很清楚。
01:08
打开。当然如果现在我点注册。这个文件是否会上传到服务器呢?肯定会,只不过现在这个服务器啊,不会接收,因为我们这里边儿。没代码呀,是不是他能够上传到服务器,但是服务器现在不会接收。那么这个例子啊,想让大家看一下什么,看一下到底这个multipart请求是一个什么请求,这个multipart form这种格式,这个协议到底是一个什么样。具体的那种格式的样子,哎,我们亲眼看一下,当然了,通过什么看,有哥们说了通过watch呀。
02:01
你注意不能用IP watch。如果使用IP watch。这个会拦截了毛派的请求。也就是说他没办法发送到服务器。我们也就看不到。这个格式了,所以我们不用它,用谁呢?我们就用火狐的。开发者工具。开发者工具。哎,这个东西是吧,点它。点开它啊好,现在我点注册了走。我这一点啊,你注意这边。选择这个所有我们就可以看到,在这个网络下可以看到我们提交的这个请求了。我们请求register,是不是这是我们主机呀,域名嘛。点他一下。
03:00
点他一下,紧接着看哪儿。参数,注意看参数。哎。出来了。这是什么?这就是那个multipart multipart请求那个格式就是那个Mo data。具体的格式。它的格式。由两大部分构成。这个是我们参数啊,你注意这是消息头,你看这是我们的消息头。这是什么?这实际上是我们的请求体。这是我们的请求题,请求题里边又包含两部分。一部分是这。
04:00
这是什么?这是。又是一个头部啊,这是这个请求题里边的一个头部,表明现在的类型,内容的类型是什么?Multi data。Boundary什么意思啊?Boundary。这是分割。分水岭分割线,我们这下边要用的分割线是这个东西,你看看这是一串减号,或者说呃,中华线是吧,后边是一个,这是个随机的。数字,你看看这个东西。这下边儿是不是和他都一样?对不对,是不是和他都一样啊。诶,这就是分割线指明我下边用的分割线是谁,就是他。Count les388,这它的长度,整个这个东西的长度是388。
05:06
当然,这是什么呀,388单位是什么呀?啊字节啊字节。好。这是第一部分,下边这整个是第二部分。第二部分什么?就是我们的multiple part部分多呀,Multi part multiple part嘛,多部分嘛。这多部分指什么?一部分,两部分,三部分,这两个分割线中间加的这一个就是一个部分。这一个部分,这又一个部分,一共三个部分呢。这三个部分。每一个部分我们都称其为一个item item item像啊,对不对,这是一个item,这也是一个item,这也是一个item,诶,它为什么是三个item呢?
06:13
为什么这三个很简单,你看呢。你看着。这里边。是不是?表单里边是不是有三个表单项啊?Name age和file。对不对。好,也就是说你有几个表单项,它就会有几个item,那么我们再来看具体的item里边都有什么东西。对于普通的表单项,它里边。包含这样的,其实每一个表单项都包含三部分啊,只不过内容不一样而已。第一部分。Content disposition。
07:01
而他的。格式form data,或者说这个是内容的来源,表单数据data。你看。表单数据是吧。紧接着呢,是name。Name name是这个表单项,它的属性名name age和photo对不对?这是第一部分。第二部分是空行。空行第三部分是这个。表单项所接收的表单数据值李四24是不是。这个空行起什么作用,分割?属性值和第一行的。
08:04
这是普通表单项啊,普通的item,那它呢比较特殊,它是文件上传的呀,这是个文件。所以你看这儿。这和前面都一样。但是这有一个。File name什么?你文件上传,上传那个文件的原始名称叫什么?叫abc.test。对不对ac.test。类型的content type test plan。这是。这是个表示,这是个文本,普通的文本,当然这是个M啊M类型,你如果说是。图片,我们一会儿会看图片,图片就不是他了,图片是什么image杠。JPG或者是。什么PNG等等。
09:03
就是头部。这儿呢,空行。分割的是吧,这是这个文本的内容,是文本的内容,当然我们可以这样啊,你看着。这样吧。好就这吧,把这个去掉,免得空行空行看的是吧,好保存一下。你看,我们后退。我这边在注册。你看是不是他的内容啊。
10:03
OK了。这个就让大家知道啊,我们的multi的请求和普通的是不一样的,哎,我们可以这样看一下普通的啊,怎么看普通的,我把这表单改一下。上传的这个去掉,上传的这个去掉INC。这个得去掉,好,这就是个普通请求。刷新一下是吧,现在他啊,我点注册。你看。现在这这个参数变成什么name。李四AGE24直接变了。这形式就变了,和刚才那个格式就不一样了,这是普通的请求。得请求头部是吧,这是参数。
11:05
所以我们毛派的请求和普通请求是不一样的。
我来说两句