00:00
好,那咱们刚才呢,配置了咱们的这个文件上传解析器,大家说它的功能是干嘛的?是不是将咱们通过表单所上传的文件给转换成multi part file对象是不是啊,对吧?好啊来,那我们现在咱们已经能获取到我们这个文件了,那我们下面呢,咱们是不是就可以实现上传了,那咱们说呢,这个photo,这个multi part field对象里面有一个方法叫做transfer to,然后这个东西是不是就可以来将我们当前的资源转移,因为咱们是上传功能,所以说就可以将咱们浏览器上传的文件给转移到咱们的服务器中,OK吧,哎,这是转移的意思啊,那转移到哪?那咱们是不是就得找到我们转移的位置,那我们现在呢,因为咱们没有文件服务器,就是咱们没有专门的文件服务器,那所以咱们就只能把它传输到我们当前的Tom get中,对不对,就比如说呀,咱们现在把它给放到我们当前咱们的这个photo目录。
01:00
图下放到我们当前这个就是部署到服务器之后,然后咱们当前这个工程的这个photo目录下可以吧,因为本身咱们上传的就是一个图像,一个图片嘛,是不是啊,哎,好啊,那行,那所以说大家看怎么写,首先那咱们要来获取咱们的服务器路径,咱们是不是得需要有session是不是啊。好,咱们要来获取服务器路径得需要有session是不是啊?好,然后咱们需要通过session先来获得咱们的solve context对象,然后再通过solve contact.get real pass跟咱们刚才下载的时候是不是一样的,对不对?那我们在这咱们需要来获取的是哪个路径啊?大家说啊,是不是应该是咱们的PH to这个路径是不是,咱们是不是就要把它放在我们的服务器路径下面的这个photo目录下,没问题吧,这就是我们当前上传的位置啊好,然后这个咱们就叫做photo PH,叫做photo pass,没问题吧?好,但是大家说这个路径是不是有可能不存在,咱们第一次上传的时候这个路径存在不存在啊?
02:13
存在不存在,不存在,唐老师你给他创建一个不行了也行,那咱们如果说没有的话怎么办?然后呢,咱们不可能说把服务器给停了,然后先创建一个目录呀,是不是啊,所以说咱们在这就把它给写成是动态的,就比如说呀,大家看好,咱们在这来创建一个fair fair等于6FAIR可以吧,然后把咱们的photo pass是不是给放进来就行,所以说现在这个文件代表的是就是咱们的photo pass这个目录没问题吧,好,那大家都学过对吧,在这咱们来判断,然后咱们当前的photo pass,然后路径对应路径所对应,然后路径,然后是否存在这个大家学过没有,If咱们的fair对象中是不是有一个方法叫做xit,学过没有学过吧,这是存在还是不存在啊,这是存在,那如果说不存在的话,然后咱们在这是不是。
03:13
若不存在,然后则创建目录能看懂吗?好,然后应该是fail点什么方法MKDR能看懂吧,能看懂吧,好OK啊行,那我们现在咱们的这个这个叫做这个我们当前的这个fair有了,那我们下面咱们是不是就知道我们要把文件上传到哪了,对不对,上传到哪了?大家说我们最终咱们的路径是不是应该在这里面来谬一个pass,或者说咱们这样写,大家看这里面咱们是不是可以去写一个非对象,是不是也可以来写一个路径,对不对,那咱们是不是需要来创建一个file对象啊,那咱们首先先来确定一下我们最终这个文件上传的位置可不可以啊,可以吧,好,然后咱们叫4G叫final,叫final pass,最终路径应该等于谁?应该等于咱们的photo pass来加上我们当前咱们的文件分。
04:13
分隔符,然后路径分隔符,然后再加上我们上传的文件的名字,大家说对不对。是不是啊,对吧,咱们上传不就是文件复制吗?先读再写啊,那你写的时候是不是要知道咱们要上传到哪个目录,这个文件叫什么,是不是,哎啊啊,怎么写,那文件分隔符咱们写什么,这个还是这个不知道不知道怎么办,在咱们的feel里面有这个有这个有这个东西见过没有。Separateator这个单词大家应该见过,咱们在MY的时候是不是讲过动态circle口L语句里面是不是有一个for each标签,其中就有个separateator,什么意思啊?分隔符是不是逗号?写的是逗号,那个属性的意思是啥?分隔符的意思对不对?所以说在这呢?这个fair.separate指的是咱们文件的分隔符,所以说大家要不知道该写哪一个斜线的话,大家就在这直接写fair.separate就行,能看懂吧。
05:19
能看懂吧,好OK啊行,然后下面呢,我们再加上谁,大家说啊,那我们上传之后,咱们上传的文件叫什么?我们是不是在这个地方就可以上传之后叫什么,对不对?比如说咱们在这上传的叫1.obg,那咱们上传到photo这个目录下,咱们也叫1.obg,可不可以啊,可以吧,好OK啊行,那这就是我们最终的一个路径,那咱们在transfer to里面是不是就可以写一个new file,然后把咱们的final pass给写进去,能看懂吗?好OK啊行,那这是涉及什么问题呢?IO流问题的,所以说咱们在这得处理我们当前的异常,能看懂不?其实这个方法里面封装的就是啥,先读再写,能听懂不?
06:05
能听懂不啊行,那下面呢,咱们就来看一下啊,来重新部署,大家看,这就是咱们的上传功能啊,非常简单。行,然后大家看,那大家知道咱们上传到哪了不。知道上传到哪了,不是上传到这儿了,还是上传到这儿了。啊,是上传到这了,是不是应该上传到这的呀,对不对,然后咱们点击右键少音1PRO,然后咱们先把它打开,咱们看看,点击之后咱们把它打开啊好,然后大家看好来咱们这样好啊来我现在呢,来刷新一个页面,大家看好点击选择文件,那咱们就上传一个,一点勾BG可以吧,好然后咱们点击上传之后大家看成功看photo有没有了,有了然后点击之后大家看是不是就是这个图片能看懂吧,好OK啊,这就是咱们的上传功能,难不难,不难对吧?Transfer to来代表表示的是文件的转移,那里面放的是一个非偶对象,那你就想办法把咱们当前非偶对象创建出来就行,对不对?所以说首先大家要知道你最终是要把它给上传到哪的,那咱们知道要把它给上传到哪呢?咱们是不是通过咱们最终的这个路径去创建一个fail对象,把它给放在咱。
07:28
咱们当前的方法的参数是不是就OK了,是不是啊,能听懂吧,能听懂吧,哎,好啊行,然后这个就是咱们的上传功能好啊。
我来说两句