00:00
我们先来完成build file upload beans这个方法,那我们看一下这个方法哈,这个方法呢,嗯,有两个主要的作用,第一个就是我们把这个呃,File item的集合传进去,我们将得到upload的bin的集合。第一个第二个呢,我们将填充这个upload files,那我们首先看一下第一个功能,这个fair upload bin,这里面包含哪些属性啊,有啊ID,这个ID呢是需要数据库关联的,所以说我们这个ID我们不用提供,有file name,这个file name应该谁提供啊,应该是我上传的那个文件与提供。Pass,呃,是需要我们进行动态指定的。呃,我要去指定一个文件名,而且这个文件名不能是重复的,所以说这应该是一个随机的文件名,还有一个,呃,File description,这应该是一个文件的描述,所以说我们构建这一个file upload的B对象。
01:05
我需要几个?Fair item对象呢,需要几个呀,需要两个对吧,我们看一下哎,比方说我一次要是传五个文件的话,这个时候我们可以构建几个file upload的并对象。就是说我传五个,我们知道这个时候应该是这样。整个这个应该是对应的一个。Fair upload bin,同样的往下移,这又是对应一个啊,每个都是对应一个。所以说我在进行上传的时候呢,我要是传五个文件的话,应该是有。十个file item对象是吧?其中有五个文件域,五个一般的这个表单域而。一个文件域和一个表单域,这两个放在一起对应着一个file upload的B对象,那其中我们这个file name。我们需要靠。
02:10
这个文件语来提供,而这个fair description,我们需要靠这个description,这个嗯。表单域来提供。好了,这是我们前面的一些分析。后边的这个呢,我们还需要来填充这个upload files,这个upload files是什么呀?String,哎,这个路径跟file item这个路径实际上就是。这里边儿这个fair pass,所以说我们只要把这个第一个要是搞定的话。第一个这个fair upload的B对象要是搞定的话,后边那个呢,水到渠成,我们来写一下吧。怎么写呢?如何来利用这个file item来构建呃,File upload b的集合呢?啊,我们来说一下这个基本思路。
03:01
第一个我肯定要什么呀。要便利。的集合,我先得到。Description啊map,注意是map里边是什么,String跟string其中。电直对。其中这个见是。这是什么呢?键,我在进行这个文件上传的时候呢,我这个键实际上是这个DCDDSD2就是那个field name。见识。Field name最重要内是什么呀?可能是什么,D啊,D2啊等等等值就是。
04:09
白玉。姚丹玉。对应字段的值值就是呃,DDS2那个值,OK,那这个以后呢,第二次我们再变立。并极好。然后呢,我们得到文殿宇。The fell。对象,那么每得到一个,每得到一个。Fair item对象都放建一个fair uploadad b对象,然后呢,我们看我们这个fair outload的B呢,我一共是需要这样的三个属性fair念。
05:10
得到分,这个分内是可以直接来获取的,第二个啊,这个需要进行构建。后电。要pass还有一个什么呀,从。一等麦普中。得到什么?得到我的这个?从一的这个,呃,这这这啊,从一的这个map里面得到,呃。当前file it对应的那个description,当前file对应的那个description。怎么得呀,我们得呀,我们知道我在进行这个文件上传的时候呢,这个是FILE1,这是DESCRIPTION1,哎,我们就是靠后边这个数字去匹配清楚吧。
06:07
嗯,只用。Field name后面的数字。Y。哎,这就可以了,好吧,你跟他搞一下。Egg。等于new Mac。先跟你一遍或循环,首先呢,我们先得到这个饭。然后description.good还我点get field name值还点get,好听。
07:06
好对完之后的话呢,我们再来看底下。呃,再遍历一遍哦,这块有问题哈,你不能这样遍历,我得应该判断一下是吧,叫。小单玉if is。这样才可以。往下贴一个。如果不是这个类型的话,那就是什么呀。那就是一个文件预呗。上嘴。就是一个文件域,这一个文件域的话呢,这个拿掉,我们继续来获取这个。Field name等于item get name。好了,我这块当然可以得到这个file name等于item.get。
08:03
Fail。啊,这name而name啊,OK,这个搞定这搞定啊,然后的话呢,我们需要靠这个few name去干什么呀。去获取对应的这个description靠后边那个阿拉伯数字,所以说我先需要得到那个index。真的。Index等于。Field name.subs应该是获取最后一个值,最后一个值就是。Few name and。减一最后一个OK,这搞到以后呢,我来得到的。Description等于description get是谁呀?Description加这个index就可以了,OK,搞到了这个file name搞到了这个description,我们还差一个什么,我们还差一个fair pass,这个fair pass呢,需要我们手工去获取。
09:14
Fair pass等于get。Fell us。哎,我需要获取一下这个fair pass,这个pass。先写一个方法吧。写一个方法吧,OK。这个写完,Fair upload b。In等于new fileload in fair name。好。E我需要把这个放到这个集合里边。List。Fair upload bean beans等于new green beast,然后呢,在最后。
10:03
把这个加到电子里边去爱的。并把这个返回。啊。把这个返回,然后呢,我们还需要有一个还需要填充谁呀,还还需要填充这个叫upload files看。不现实,Pass值。病。啊,这个fair pass如何来进行获取呢?啊,我们可以去举一个系统时间那边有一个问题哈,就是说你获取了这个文件名以后的话,起码还要跟我这个文件这个扩展名是一致的,所以说这个file name需要传进来。Strange fair。我获取一个扩展名尺寸的e name等于。
11:10
Lastex off。点对点了哈,然后我再来获取。Fair。Fair pass,这个fair pass呢,应该是最终的一个这个呃,绝对路径,所以说我们来写一个路径。对,这起。Private final string。Fail。啊,我们给它放在。路径下。E。路径下的。F。
12:00
Well pass。OK,我这个fair pass,我还差一个什么呀?我要是一个绝对路径,我需要使用service context get real pass。看。At sufficient context they get real path。加。两个斜杠。再加文件名,这个文件的这个名我们使用system current,然后。再加ext。行了。他这个一返回,我们在后边的话呢,我们会讲到这个方法会有一点小问题,这边我们会提到他OK,这样的话呢,我们这个就写完了测试一下,怎么测试呢,我们直接在。这一行打上一个断点,哎,我们看一下我们是不是的确得到这个fair upload bin,以及把这个upload files填充完毕。
13:08
Debug。Onr找一个。好,我们。这三个我们看一下。呃,我们找到我们的,正在上课。看十一来。AAA。是二。BB。13。对,搞定。这个代码呢,在这块停住了哈,我们看我们的这块的这个upload files,这是个map打开。
14:04
我们看这是一个绝对路径。没问题吧,是吧。它等于什么呀,我那个文件。打开。看一下。Table。Entry key。路径吗?Y6,没问题啊,没问题,好,我们看一共是几个。一个。两个哦。应该是三个值啊。我们看什么,我这块是不是就是二啊。呃,有点小问题。然后呢,我们再来看我们的bans这个值是几呢?这这个值是三。这个没问题哈,我们打开我们看一眼。
15:01
就是一个B啊,DC是一,就是最后的这个路径。这个路径呢,是OK的,好了。第二个再看一眼bbb啊,12来。这个嗯,CCC没问题,诶,那我的这个upload files我少了一个呀。这个size是二。看一下什么问题转回来。停掉。点击这个方法。哦,这一块的话呢,就能够看到这个问题,什么问题啊,你看这个fair pass可能会出现。重复的问题,为什么会重复啊,大家说你看我直接我在这块的话呢,我调这个get file pass方法的时候,它分配了一个系统时间,这个系统时间就会有一些问题,因为计算机运行速度太快了,是吧,在同一时刻会与这个系统时间的话,这个系统时间就可能会相同。所以说我们搞一个。
16:19
嗯,写一下哈。我再写一个追基数等于六。对。片。Play。Thanks。进去有数呢,我就差一点。我搞到一个。In random。的一个number这样一个随机数,然后把这个随机数放到这个后边,这个时候就会有问题了。
17:00
当然我们后边我们撰写的时候的话呢,我们还有呃更更靠谱的方法,比方说我们用这个呃,系统时间跟呃。随机数还有。呃,30ID,我们利用MD5这个混合混合是吧,我们可以搞出一个更随机的一个数来,OK,再测试。直接刷。直接刷刷不了啊。重新来吧。11。12。12。Three。13。13、找一个地交。再看三,没问题。Cable。
18:01
看这个抑制这个值。啊,这是更随机的一个数,这个没问题了啊,这样的话呢,我们这个方法就。洗完了。Build upload beans。我们相当于写了两个方法是吧,第一个方面的话呢,我们是构建这个,呃,Fair fair upload bin,那同时呢,我们又获取了一个。Few past。
我来说两句