00:00
我是有一个fair,有一个描述吧,如果要是就是比方说这样写,要是就是一个fair跟一个描述的话,这个事很简单,不用说是不是很简单呢?我直接搞到一个输入值,我直接搞个DS,一分钟就完了吧,问题是你是多个这这个爸爸咋回事啊,这个没事嘛,可以调嘛。不是这个吧,这个是不是删的时候你没有没减呢,过来挨减减是吧,保存再来,A等于A减一。有同学说的很对,是吧,Bug。
01:02
服务器关了。加加加。山山山加是这个吧就好了吗?行了,哎,我们要明确一下我们复杂在哪。我们首先的话呢,我们确定啊,如果要是呃,一个fair一个DC的话,这个事不复杂吧,你直接就可以拼了呀,你就像这个进来了一个男生一个女生,他俩好,这个事简单了是吧,你进来五个男生五个女生,你就需要识别一下谁跟谁是一起的。
02:03
那那你就费点劲呗,你肯定要费点劲呢,那一个一个问是吧,哎,你相好的是谁呀?告诉是那个女生,你相好的是你,你给组装一下我们最爱玩的一个游戏是什么游戏啊,在那个这个有有一个那个布是吧,长着一帮女的是吧,一人伸出过手来,然后说去区分一下哪个是你喜欢的女生,我们上大学的时候玩过这个游戏,然后后来得到的结论就是哪个都是我喜欢的,看个手怎么能看出来呢,是吧,平常摸摸的最多的又不是手是吧,现在的话呢,你复杂在这是吧,就是你同时的话呢,你有多个,所以说有点麻烦,我们怎么办的呢?我们把这个思路,我们给他这个构建一下啊,明天明天我们可以再接着讲我们,我们怎么办呢?我们首先,呃,这个第。
03:03
第一步看这一步应该是OK的吧,就抄的嘛,或者是复制的嘛,这一步是OK的,好了,这一步是复杂的这一步啊,这玩意没啥o oko不OK的是吧,是不是就创建了一个map而已啊啊这一步是OK的解析啊这一步刚才搞的就是这一步,我们我们怎么的呢?我们利用这个A呃,构建了一个fair upload bin的一个集合,怎么构建的呢?过来看一下,就是说哎这了五个男生五个女生,我怎么办呢?我说比方说这一对一对的是吧,但我不能保证这一对是不是,那怎么办呢?我把男生女生分开,我问男生,哎,哪个是你想好的,这样是不是就清楚了呀?于是的话我怎么办?我先来看的这个DC我先给它呃保存起来,DSC我先给它保存起来,实际上这个保存的话呢,还可以写的,就这样吧,是吧,DS保存起来,然后的话呢,我在遍地的话,如果还要是一个这个呃文件域的话,我把对应的DSC再给它取出来,这就可以了,就是这么个步骤,其他都是正常的,那同时呢,我还构建了一个这个file pass,然后这样一构建这就可以了,所以说这个代码你一看就知道了,是吧,其实也还不是特别复杂,好了,那我们分析那个。
04:35
课程有点有点绕,这个的确是好了,这个完事之后的话呢,这个校验吧,我们明儿再说,包括整个这个校验吧,我们也明儿再说,保存的话明儿再说,我们先上传一下,这个今天可以搞定。二循环。A file item。
05:05
F。有这个map是吧?嗯,map.nt string item OK,这是一个叫。Fail吧,Upload upload fail,后边这upload fails,然后是吧。第一个是string的什么呢?就是那个fair pass,用那个路径哈,等于lo the fair.get下一个啊,File item item等于。
06:02
Upload file.get value,然后进行文件的上传。真正的进行需要传什么呀?传还传item.get input stream。创建方法。异常吗?买。停掉啊,那这块这个就是用呃这个什么什么什么什么。Out would。Dream。等于new fair output,传谁呀,Pass吧。
07:03
红外泡一堂。然后呢?爱我吧。然后AT8等于六,AT1024,然后变等于零,然后well。等于input stream点。Right read read buffer,这个值要是不等于负一的话,我就开始写out.B0到then是吧,写一个关一个input stream.close out.close然后呢,我们为了看,为了看到这个效果哈,我们决定每写完一个一个。
08:13
Pass,看他传没传上去,保存找一个。刷新来浏览read me,其实这个写不写的无所谓,因为这个我也没没没有实现呢啊,再来一个。BB。再来一个。这个吧,来CC。睡觉。怎么俩呢,首先看一下这俩过没过来啊,这俩不对,CTRLC来。
09:10
文件的确有了是吧,俩不行啊,我有仨呀。这我先删了。但我们这个基本上的话呢,OK,两个是为什么呀,你看看这块不可能负一,这个没问题,再往上走。这谁掉的呀?上面掉的这个没问题。那就这样吧,我们看那个upload有几个来,第3LOAD files.size要对的话,那是不就对了。
10:08
过来看一眼哈。没有一个,我放一个呀,三个呀。没问题,看看来回退刷新浏览read me。增加没有哈,浏览copy增加浏览。Changelo提交,哎,有俩,那就是循环的问题,这问题不大,过来看循环有啥问题呀,那我们就得看这这这不能写,等这些等肯定不对,那item对不对啊,于是再往前走。
11:20
往哪走啊,看这个size对不对是吧,第3.size保存。这种这是没问题的,这已经过了,嗯。啊,这个不是吧。我用哪个查的这个吧,不是不是回退刷新来一个提交。两个再提交。
12:03
三个。第七是对的。这七没问题,这七没问题,为什么七没问题啊,过来看来我这块我是不是是不是还有还有一个隐藏玉啊。对吧,这个去掉。六双。无所谓了啊,我每次都是他吧。看数量吗?走六个吧,但这个是什么回事啊,文件的名字的问题,行了吧,知道啥问题了吧,我知道啥问题了,你们知道你们知不知道啥问题,这个事情是这样的,这个事情。我们有有失误的地方,你看啊看我我们怎么保存的呀,是不是用这个pass啊。
13:07
这个fair pass在哪呢?看看在在在在在往后边大家说这个问题在哪儿知道吗?在哪儿啊。这块你是不是用的这个系统时间呢,在一个时刻,这个系统时间咔咔一分配是吧,比方说你同时两个文件,这两个文件系统之间一样很快吗?懂了吗?就就这毛病,所以说你这块共用系统,共用系统之间不行,那同学说那那我咋整啊对那你那你再加上一个学习数,我们这样吧,我们再加上一个赛ID,那那个赛ID的话呢,这块可能可能也会有问题,因为同因为同一个人嘛,是吧,所以说你这个对再加再加一个数据数吧。
14:02
填有难变一个软。来。我们我们想一想啊。眼睛去掉。实际上的话呢,它就是这个时间重复了这个这个这个这个好几个时间都一致。那那怎么整啊。搞个同步,搞个同步太慢了,行吧,我们先来搞一个这个随机吧,三等等于六三,然后呢,哎。
15:03
再加个random啊,其实也比较危险,random.next1234。行了,这个时候的话呢,这这个我们到后面我们有解决方案哈,我们可以利用这个MD5算法随机找一个随机数,再加上30ID,我们暂时先不搞那么复杂了,因为现在目前的话呢,这块成本已经挺高了哈,再回来。再刷来就录个密吧。行了。都是咋的了,四个吧,这个就好了,这个时候的话呢,这个问题基本上就这个,嗯,解决了,这就是文件上传这块,好了,我们回来还有五分钟是吧,我们做一个简要的小结,一会儿这个下课的时候是不是有去那个班去分享的呀,去分享的时候啊,要给他一种积极乐观的态度啊,不要后边太难了,不要学了啊,不要这样,你说这个每天过得很充实是吧,每天我都感觉我在进步是吧,感觉前途是光明的,正是因为暂时的苦会换来以后的美好前景,告诉他没有风雨哪有彩虹啊,是吧,就跟他这样讲好了,那我们回来吧,我们来暂时对我们来做一个小结,我们看哈这个方法。
16:47
说。构建fileload对象,其中从配置文件中读取了这个部分属性,用于设置约束啊,这个方法的话呢,基本上就是来源于文档啊,该方法代码来源于文档,我们没怎么动过啊,这个方法啊,干啥用的呀,根据给定的文件名构建一个随机的随机的字符串,S字符串,你构建一个随机的文件名吧,文件名。
17:49
好了,我们要说一下怎么构建呢?并不是一般的构建哈,说该文件名构建啊,文件的文件名的文件,文件名的扩展名和给定的文件的扩展名一致,第一个第二个。
18:15
还用了什么东西啊,说这个,嗯,利用了利用context的get pass方法。获取的绝对路径是吧,这一块给的是一个相对路径,我需要的是一个绝对路径三。但利用了random。和当前系统时间和当前的系统时间构建随机的文件名,随机的文件的名字。
19:03
这个方法呀,跟我们这个应用其实关系不大,再来这个的话呢,要复杂一点。这个是。啊,构建这样的一个,它是它好吧,这块我们要说一下这个利用。传入到file itemm的集合。后卷好了,我们要说一下啊,这个是干什么的?这个对象封装了以下几个ID,还有什么呀?文件的正报的文件名哈,文件的pass,还有文件的。杨树。
20:01
好了,然后呢,我们要说一个它,它是干什么的,它是一个。Map类型。类型,电直对。电直对电是干什么的,值是干什么的,电是干啥的呀,电就是啊再说一个来里边存放这个这个这个这个这个这个这个文件域类行的。一定是。一定是他哈,文件运类型的,那么域类型的,我们有电视在。保存的。
21:02
文件的名字值呢,对应的这个对象。好了。那我们要说说我们是如何来进行构建的,构建过程。怎么构建的?啊,我们是这么构建的,我首先第一步对这个进行便利号C对这个的集合对传入的啊。传入的这个集合进行便利,哎,一帮男的一帮女的,男的跑到一边来便利,一个一个问你女朋友是谁,你女朋友是谁,然后完了大对,就这个意思好了,首先对这个进行便利,得到什么得到。
22:04
而DC的那个bag。又有一个键值数的问题,键是谁啊?只是谁啊?电是DC,就是那个de的field的name是什么呀?提交的那个field name,比方说这个值可能是,比方说EC1啦,EC2啦等等等,是这样吧,好值。值是什么呢?哎,值是那个DSC的那个输入的文本值,好了,第一个就这个便利好了,然后又对它进行便利。什么呀,得到文件,文件遇到。
23:08
那些那那些item对象,然后呢。B用构建什么呀?构建对应的KT是什么?E1了,它成啥了是吧?来获取来获取其D3。就在这个里边构建的这个对象。并填冲看看。和。和这个这个啊,这个方法大家可以看一下啊,点过了这个呢啊,真正进行文件上传的纯文件上传文件。
24:16
上传的IO方法就是一个纯IO操作啊,跟我们前面学的IO有关系,跟我们新知识没啥关系,这个方法呢。还有前面就是文件上传,文件上传前的准备工作,具体呢?得到什么呀,得到feel pass和。Input。行了,就是我们这个流程是吧,调案扩展名啊,CUBS啊,以及文件超出怎么办呢?明儿再说好了,超了三分钟啊,今天大家辛苦了啊。
我来说两句