00:00
呃,进入后台。添加图书,OK这块的话呢,我们可以选择一个封面,比方说我选一个书。这咋的了?好了,这个时候呢,我去库随便搞一个图片啊,科学好添加,那这个时候呢,在我查看图书的时候啊,这个书就是我新传的是吧?嗯,这个时候的话呢,可以有这个图片上,哎,我们现在的话呢,我们就是要实现这样的一个文件上传的效果好OK,我们来学习这个文件的上传和下载,新来创建一个障碍工程fileload。
01:29
好,我们看我们如何来进行这个文件的上传,上传之后的话呢,我们就来说这个下载哈,我首先呢,我来创建一个呃,Index的JSP,我们这个学习啊,分为两部分,一个是文件的上传,一个是文件的下载,写的超链接uplo的文件的上传,再写一个文件的下载。
02:12
那我们来看一下如何来进行这个文件的上传呢?我CTRLC一个,你看JSP好,重新上传的话,我们刚才看到一个什么效果呀。是这样的,文件上传添加图书看是不得有这样的一个这个嗯,浏览这样的一个按钮啊,然后一点你可以选吧,呃,应该是这样的一个东西,所以说我们先需要做一些准备工作,在写表单的时候就需要注意哈,奥表TXT这个表单呢,跟以往的表单不一样,我需要多那么一个这个嗯,表单域,这个表单域以前我们写的,比方说text啊,Password啊,什么这个radio啊,Check box啊,哎,这个是一个全新的叫fail,好,首先我来写一下form,我们就叫我去一个solve吧,OK,先写上哈,写一个fair,看着input have,注意这个啊,有一个。
03:35
Fair fair类型,OK,写一个name这块也叫一个fair,写好了,然后input time summit value summit OK写完,写完之后的话呢,先看看。
04:00
这个页面是不是的确是有一个file啊,有一个fair,我是不是可以选啊,OK,这样的话呢,这是第一个层次啊,这个file这个文件域写完了。好,我们看看还不还需不需要做其他的准备,然后考虑哈,我要是确实进行这个文件上传的话,这应该是一个20制文件吧,是吧,这个文件可能很大吧,比方说啊,你传一个电影啊,你传一个这个什么什么文件啊,我们现在这个请求方式是什么方式啊,是不是盖的方式啊,盖的方式它会把这个请求参数附着这个,附着在这个,我选一个,你看一下,我这么一走,它是不是会放在这个后边啊,很明显放不下吧,所以说请求方式一定是post,对,请求方式一定是post,我来写一个method。
05:11
好了,这样就可以了吗?再看一下来回退C这个打开。已经写好了哈,然后呢,我们来看这个工具,开发者工具,嗯,网络我们可以监视到整个这个嗯请求的过程,我来选一个文件,哦,错了,我来选一个文件。随便一个文件都可以,比方说还是这个灯塔吧,好找一个好失败了,是不是404我没写过,那这个不要紧哈,我们看一下这个过程,我点开往上开,大家看我这个请求啊方data在这呢,这个file是个什么东西啊,这是不是就是一个字符串啊,在这样不行,哎,我希望它是以二进制的方式进行传输的,所以说我们还需要来设置一个呃,请求的编码方式在这呢,叫holdding type需要来设置它,我需要来设置编码方式,这个不行了哈,我们需要没有,而且吧,Form data OK part from data塔,OK from。
06:48
可卡哎,这个也需要来设置一下,这个时候这个效果就会不一样,看一下回退刷新,选择一个文件点再看它,注意这个,你看这个请求,这个效果是不是不一样了啊,跟以前不一样了哈,这个时候的话呢,是以一个二进制的方式啊来进行来发出请求,所以说我们首先需要来做一些基本的准备,第一个啊,进行文件上传,进行文件上传时这个表单。
07:34
需要做的准备,第一个我们一定要说请求方式为Bo Bo请求,因为你的带请求啊,我在那个ul后边,我不可能放那个二进制的这个数据。第二个啊,使用。
08:02
的表单语。第一个过来在这儿呢。就是这个form method是post。我们还有其他的哈,好,第二个使用这个fair域在这呢。好了,第三个啊,使用新的编码方式,使用什么呢?使用这个请求的编码方式。最大化一下使用这个。啊,请求编码方式好了,设置的方式呢,应该是它好整个的样子啊,就是这样。
09:12
啊,这是我们在这个表单这块预先需要做的准备,嗯,看一下PPT,如果表单中使用表单元素input cap等于fair,这个时候的话呢,就会帮我生成这样的一个,呃,可以选定文件的这样的一个文本框。然后我们需要指定编码方式,Multi part form data,默认有一个方式,默认这个方式啊,它是个什么方式啊?默认这个方式是使用有限的字符集,当使用这个非字母跟数字的时候呢,会进行转码,但对于大容量的这个二进制跟非阿斯克码的话,这种方式不能够满足需求,这个时候我们需要指定啊,Multi part from data这个方式,这个方式表示表单以二进制的方式进行传输。好了,以前这个方式对于使用了非阿斯克码跟大容量二进制的话不行啊,你想传二进制的话,呃,需要用它。好了,我把这个也来说一下吧,相当于是一个知识哈,CTRLC关于encoding tag。
10:39
关于coco type。它可以取值,这样两个值,一个是它一个它具体的话我们已经说过了,大家在课后的话,我们可以再看一下。
11:00
下一个请求方式的话呢,肯定需要使用post,这里边应该。这块既然没写是吧,那我这块说了哈,请求方式肯定需要使用post,你使用get的话呢,肯定不能够满足需求,OK,有了这些以后的话呢,我们呃,可以先来请求一下,看一下效果过来吧,那我我这样吧,不。这样也行,Upload upload。OK,我们先传个试试哈,创建一个sub。
12:09
嗯。下一步这块改为upload就可以了。然后巩写po子的方法。那这里边儿我们需要干什么,如果我要是确实是自己来处理的话,自己能不能处理。这块我们需要注意的几点,我们以前获取这个请求信息,我们使用什么方法呀?在米特吧,OK,那我这样吧,我再来写一个字段。
13:01
描述E。E。啊,那我来获取一下,我看我能不能获取到这些东西啊,来获取请求信息,String file等于request.get file,再来一个string d等于request.d很明显这种方式有问题,为什么呀,你给我搞到了一个string不行吧,我需要的是一个二进制的一个输入流吧,那我先写上先看看哈,Fair。
14:02
DC先瞧瞧,启动一下刷新来。整一个文本吧,来。没获取着看见了吗?那没获取着的话呢,有可能是我写错了是吧?看着了fair d,这非常简单哈,再回来看一下fell d,那确实是没获取着,哎,这sol这块需要注意,我不能够再用这样的方式获取请求信息了,因为什么呀?因为你请求这个编码方式已经变了,变成了以二进制的方式来提交这个请求信息,所以说你获取这个文本信息的话,获取不到不行,那我们先记录一下哈,来5SO。
15:22
二服务端吧,服务端一,哎,不能再使用什么方式啊,Request get方式。获取请求信息获取不到获取,为什么?因为请求的。
16:00
编码方式。已经改为这个方式,好,这是以二进制的方式来提交这个请求信息,说什么呀,以以二定制的方式来提交。请求信息,所以说你获取不着,那我们怎么获取呢?说呀,我这么获取吧,我以这个输流的方式说可以肯定可以啊,使用输入流,输入流的方式来获取,好吧,试试这方式不行哈,步调input string in。
17:08
等于request.get确实是有哈,Stream OK,那我如果传的是一个文本文件的话,我用把那个信息打出来,那文本文本文件打的话,我用reader打好吧,具体是用阿的reader after reader等于new after the reader里边得传个什么呀?传个reader吧,Reader OK reader怎么搞啊,Reader reader等于六。Input stream是吧,就转换流吧,OK,导进来,CTRLC的O导进来,然后的话呢,我打一下,我看这个信息是不是进来了没string s tr等于now well,如果这个值要不等于空的话,Str等于rier.read y,如果这个值不等于now的话,我就一行一行的打一下s.out.print我直接打到底下了哈,ST2,我想看看这个效果来。
18:33
能打出来吗?找一个回退走read me这样啊,为了这个跟区分的话,At回复点。com看一下。
19:00
我没有换行打个L是吧,保存等一下。这种。直接刷可以。好了,我们看前面这些应该是什么呀,前面这些的吧,什么read me of,拼音四阶哦,这是我们后边讲项目的时候需要用的一个这个小工具,我们看一下这个这个在open source。Read me应该是他打开。是吧?Read me PG往后翻,最后一行是什么?Copying text,找一个。
20:00
应该在后边哈,啊,是不是都有啊,读这个文本文件是没问题的,而且的话呢,是不是也读到了我们这个呃D啊啊可以读到,不过怎么了,你看这个文本文件呢,放在了一个地儿,这应该是一个标识,然后里边指定了什么,这个嗯,表单域的名字啊,这个嗯,内容类型啊等等等,然后正文啊,然后拿这个间隔表示结束,然后是下一个,就是说我们利用这样的方式去读啊,读一个流没问题,不过你需要对这个流进行处理吧,是吧,那你现在是个文本文件,你要是个二进制文件了,那处理这个肯定比较麻烦。那这个时候呢,从进行文件上传的话呢,我们不会,嗯,真正的从这个流的方式来做,这个时候呢,这个嗯,阿帕奇给我们提供了一个很好的文件上传的一个小工具,叫fair upload commons,这个工具呢,叫它feel upload啊,这个依赖于IO这个包,那我们要说一下哈,我们讲的RU1RU two VC他们进行文件上传那个主件用的都是它,所以说是特别主流的一个文件上传的一个小工具,我们就来学习它,看用这个如何来进行文件的上传操作。
21:38
嗯,把这个包的话呢,可以发给大家。然后我们这笔记这块的话呢,我们再完善一下哈,哎,我们说可以使用这样的方式来做,但不建议这样做,但不建议这样做,为什么呀,因为太麻烦了,然后三哎,具体使用home fair upload组件来完成文件的上传报作,那下节课的话,我们就详细来研究如何来用这个小工具完成文件的上传,下课先休息一会儿。
我来说两句