00:00
那今天上午的这个up能跑起来吧,照那个文档是吧,能写起来就就像我们写down街一样,写道佛接的话,你要是说现在的每一个步骤的话呢,我们可能也想不到,但是你要一看那个文档的话就可以,很多小的主件就是这么用的,我再说一遍啊,很多小的主件,因为Java里面有很多小主件,比方说我们后边学的拼音司机如何把一个这个嗯,把一串汉字变成对应的拼音,呃这样的小工具,直接看文档,文档里边代码1COPY就好用了,所以说用起来的话呢,是不难的,问题是给它哎,用的像点样子,那现在呢?我们来看我们以前写的一个应用,然后我们也我们也用这个file upload来完成这个应用,这个应用啊实际上是分为两部分,一个是上传,一个是下载,我们先来完成上传,然后的话呢,我们再来写这个下载,看一下效果。
01:11
lo.d转C。大家需要注意到呢,我这里边儿有一个数据表,数据表里边有ID啊,文件名,文件的路径,具体文件存的路径是什么,我们在进行文件上传的时候啊,并不是把这个文件真的存到数据库里边,懂我这个意思吧?我们在学习那个嗯,My circle跟Oracle的时候,我们都讲过如何把一个文件存到数据库里面,但在真正开发的时候啊,我们几乎不会真的把一个文件存到数据库里边,而怎么存呢?把文件保存到服务器端的某一个路径下,然后呢,在我们数据库里边有这么一个字段,Fair pass指向那个路径就可以了,那这里边还有一个字段叫这个嗯,File DC文件的描述,OK,我们看一下这个效果,我进行文件上传呢,呃,我可以选择呃,多个文件,那我这个里边我来选一下哈,选这三个。
02:33
哎,描述ABAC写好了O点一个递交就传成功了,纯成功以后的话呢,我们来看一下我们的数据库,这个时候就多了这样的三条记录啊,这个是ID自征的,这个不用看了是吧,文件名应该叫啥名就叫啥名。
03:01
然后是文件的路径,就是说我这个文件啊,其实是存在这个路径下,复制一下,存到服务器的某一个路径下,我我给存在这了。在这呢文件,而且我们发现什么呀,一文件名是不是跟我们存那个上传那文件名不一样啊,为什么要这样,因为多个人在传文件的时候,那文件名有可能一样吧,我传那个文件名叫相片,另外那个文件名也叫相片,你这样不会有这个文件冲突的问题吗?所以说哎,我这是随机指定了一个字符串。OK,然后后边就是这个描述,这个写完之后的话呢,我们还可以有一个文件的下载。那我就是这样的什么呢?这样的,嗯,三个文件我随便下载一个,大家看一眼下载。
04:04
下载我打开。用什么呀,用这个,呃,Chrome下载的话就这样。大家以前要是用过的话,在网上下的话,它也这样,嗯,这就是我们这个效果,那这个文件,嗯,就是我们看到的这个文件的效果,这个文件就在我们刚才说的那个路径下好了,哎,我们就是要实现这样一个功能,但是这里边还没有完全完事哈,我们在进文件上传的时候啊,嗯,有一些可以需要注意的点,比方说我选一个文件,注意这个笔记。这个文件或者这个上硅谷吧,AX这个。快两兆了,我点一下看好了啊,我选一个1G。OK,我们再回到这个里边来,注意。
05:02
我刚才呢,我进行这个,嗯,回退的时候多传了三条,这个不要紧啊,我把这个先拿掉。然后我们来传一下,大家看这个时候没传上,他告诉我什么呀,告诉我某一个文件超出了这个文件大小,如果在传文件的时候呢,也有可能你传的是一个,呃,其他的一个文件,比方说我传的是个PNG上传他会告诉我这个文件的扩展名不合法,就是嗯,有一些很好验证的功能。好了,整个这个实现呢,文件上传部分用的是file upload,但是有一些细节我们需要自己来写,我们先来分析一下这个需求,然后的话呢,给他来实现。来。
06:07
使用file upload。这完成。文件的上传应用好了第一个细节。我们来看一些细节啊,第一个细节我们要谈到的就是需求,到底有哪些需求,这个需求呢包含两部分,一个是文件的上传,还有一个是文件的下载啊,第一个上传。二下载下载啊,我们后边再说,我们先看这个文件上传有哪些,我们展开哈,我过来看一眼哦,我可以怎么样,我可以这个用JS实现这样的一个效果啊,添加一个新附件,当然你也可以在后边写上一个删除,你可以不要。
07:09
这个回头的话呢,我们也来实现一下,整个就是用解块,OK,首先在页面上。upload.dsp界面上使用。实现这功能。要新增一个附件。当然我们再加上一个啊,比方说删除附件,按需保留最后一个,但需至少。需要保留一个这个GS啊,很重要的,特别是这块很多面试的时候都问。
08:00
因为我们解块RY讲的比较快是吧,大家我们在项目里边的话呢,会大量的用到这个解块,这是第一个。第二个我们发现们在文件上传的时候呢,我们可以对文件的扩展名和文件的这个嗯大小进行验证啊对。文件的扩展。名和文件的大小进行验证,OK,怎么验证呢?啊,我们我们来说一下啊,比方说文件的或展名必须为我们比方说几个哈,PPTX啊X啊,其他的不行。啊,还有一个啊,每个文件的大小不能包括一兆。
09:06
我们希望这两个呢是可配置的,不是写死的。啊,还有一个就是文件大小,总的文件大小不能超过五兆,好,说以上的这些啊,是可配置的,说以下的规则。是可配置的,不是写死的,写死在程序中好了,验证还有啊。如果验证失败呢?若验证失败,则。在upload JSP页面上显示错误消息。
10:09
这个错误消息啊,分为两类,说若某一个文件不符合要求,说若这个某一个文件不符合要求啊,我就给出这样一个信息,说什么什么什么文件,比方说扩展名。扩展名不和法或啊什么什么文件的大小超过。一兆就是说这一个文件,我们要说总的呢,有有可能怎么样,总的超过五兆了,那我就说哎,总的超过五兆。
11:00
啊,这个是什么呀,是一起的,那我这个就这么说OK。就是这个验证好了。验证要是通过的话说若验证。通过有什么则进行文件的上传操作,这个上传操作呀,有两块,第一个真的进行文件上传,文件上传并给一个不能和和其他。文件重复的名字。我们需要给这样的一个名词扩展。名不能变哈,但。拓展名。展名不变,肯定的,好了,第二个。
12:01
在对应的数据表里边添加一条记录。在对应的数据表中添加一条,记录什么样的。是这样,这里边我需要填个ID fair name fair pass,还有这个file d,看看哈d fair,诶,文件名吗?就是那个名file pass,这文件存哪了呀?还有一个file d,好,这个具体就没有了,好了,关于文件上传的需求的话呢,一共就这么多,这个当然是使用这个file upload来完成。好了,这就是需求,下面我们可以考虑每一个步骤应该如何来写。
我来说两句