00:00
来启动服务,来测一测。然后呢,这个地方来一个张三,当然你得先登录一下才能测成功,因为咱们用CTRL了,要不然就被拦截器给拦截了,所以我们这个地方来一个一二,这个是YF页二层登录一下,登录成功了,再测测我们这个文件上传那个页面,Fire upload upload,然第2JSP1回车。太死是吧,我带太死了好了,但咱们这个页面整比较丑啊,咱们没有做修饰,咱们就演示一下文件上传就行了,那你比如说大家我上传一个文件上上上传哪一个文件呢看看。
01:03
假如就上传一个Excel文件吗?嗯,上随便上传一个资料可烂呢,假如哎,这里没有是吧。没有A找一个A块文件啊,随便,假如我们这把这俩拷过去吧,把这俩拷过去,拷到客户端这里边知道吧,这样的话,我们这个服务器里边就没有文件了,所以我上传一个,一会儿我主要在这里边生成了,那就上传一个,随便上传一个吧,假如我们就上传这个吧,然后呢,一选中它你看吧,然后这个地方大家你也可以提交一个字符串文件,上传的同时也可以提交字符串,这个字符串张三你就随便来写了,然后一点提交,大家就提交就行,你看吧,一点提交看吧。但是你发同步请求返回相应信息,你看吧,返回阶层组长,你看它能解析吗。浏览器能解析吗?诶你们这不解析了吗?这解析你开发人员你能看懂,普通的用户能看懂吗?这不叫解析,这是我们他浏览器现在做的比较智能,他能给你什么按照列显示出来,真正解析什么意思,只是把里边这些数据显示出来。
02:14
这些数据都不让用户看见,这才叫解析,所以浏览器你给那个浏览器返回阶层转,他解析不了。知道吗?你要返回网页,诶这些东西都能给给你直接显示出来了,知道吧,所以它不能解析JS。所以大家以后千万记住前面发同步请求,不要返回杰森,杰森解决不了知道吗?所以这是我们这个返利,当然我们下边进一步来看一看,我们那两个数据提交成功了吗?后台拿了吗?首首先看到字符串的啊张三再看吗?后台已经打出来了。你看那个文件,文件就在这里边啊,大家可以看这个文件,你看server看到吗?就是他这就传上来了,那个文件里边内容的哈,都有都已经写过来了,知道吧。
03:00
好,这是我们说到这个,关于这个文件上传这个功能,我们基本上就写到这吧。好,这是我们这样的啊,那这个地方大家看,其实大家看文件上传,我们给大家讲到这儿就能够满足咱们做CRM项目的这个需求了,这个技术讲到这儿就行了,但是他这个文件上传还有一点点问题。有哪个问题呢?是这样,我说这个文件名有问题,怎么有问题,但你想一想啊。用户,当然咱们现在做CRM项目,上传的就是就是Excel文件,那我直接这么写就行了,万一你到了公司这边开发,不一定上传Excel文件,它还有可能上传word文件,PDF文件,甚至压缩包,视频音频等等,这些都有可能上传,你这个文件名能写死吗?这个后缀名你你写啥。
04:00
对,你不能写死叫 Xx25呢,那应该写成。这个文件名,当然这个什么文件名你可以随便写,这个后缀名你能不能随便写。不能随便写,你不能写死。为什么?因为你上传Excel文件可以这么写,万一他上传是word文件呢?万一他上面有个视频呢,那你那你咋办。对,写个星。不行吧,写个星,他不支持这匹配服务是吗?那应该写什么?这个地方应该写,写啥写啥都不合适。为什么?因为他上传的文件的类型不什么不确定,那这个地方按理说不能写死,不能写死应该写上。他上传的是什么文件,我就写什么,是不是这个意思,那关键是他上传的什么文件我怎么能知道呢?那用户他自己在这选,他想选什么文件,我怎么能知道呢。他也不告诉我,他给我打个电话,说我上传exce文件,你赶紧写exce对吧,他不可能给你打电话了吧,那这个地方我怎么知道他上传的什么文件,谁知道你不知道谁知道,这里边谁知道。
05:21
对这个文件知道,对这个文件知道,这个这个对象知道,为啥这个对象知道,刚才我给大家说了,接收到请求之后,那一个文件上传解析,会把请求体里边关于这个文件的所有的信息都取乱,放到这个对象里边所有的信息。包括文件名吗?肯定包括文件名,知道吧,肯定包括文件名,所以他说他一定所有信息都都放到里边了,文件名肯定也放到里边了,知道吧,那你说老师万一不放呢,万一不放你还你文件上传,你还能做吗。文件是文是吧,文件上传你就做不了了,他如果不带文件名大家是吧,大家都傻了,都做不了了,所以那这个整个外部体系就错了是吧,所以这些设计外部体系这些人他们肯定也不傻,都是都是什么设计好的,他一定他知道你一定会用到这个文件名,所以一定也从后前台传过来了,都放到挺牛体里边取出来都放到一个对象轴。
06:21
所以通过这个对象就能拿到,所以我们还是说那种编程的艺术。我不知道,但是我知道这里边儿封装这个文件的信息。那一定在这里边呢,你别找他里边去,或者你也别,你别乱想知吗?他一定在这,那什么打电话之类的,那都是那都白扯啊,然不可能给你打电话,所以他一定在这里方呢,因为它里边封上所有的信息吧,那在这边在哪个地方,在这地方啊,在这它里边有个有个它边有个方法,你问老师他这么多方法,我怎么知道是哪一个,还是那句话,还是那句话,我们说它里边大看还是那句话,我说他他什么这些方法里边,你看哪一个项获取那个文件名呢,哪一个该到内蒙,可不可以该的内蒙可对该的内部看着像是吧,除了他之外还有谁。
07:18
最长对这个是吧,好像也是fire内蒙这俩哪一个哪一个是吧,都好像都像,那那这俩都像有一个我就用一个了,俩都像咋办呢?对试一试就行了是吧,试一试行,所以呢,还是我们说这种编程的这种意识是吧,就说你不用不用说我我做所有技术我都做过,不可能的知吧,但你得自己会猜,你得敢猜,你得会猜知道。那我我就不给他试了,我们就用这个对你要英语稍微好一点的话,你就能猜出来,这这个original,这这这个单词啥意思。对原来的原始的是吧,这个什么fire内部叫什么文件名,原始的文件名,原始的文件就是用户自己上传的那个那个文件的文件名知道吧,那这个地方我们就可以什么定一个变量接收它。
08:19
然后呢,这个地方再拿到它就行,这好这样的话,这个文件名拿到文件后缀名能拿到吗。文件名大家都拿到,后缀名能拿到吗?能拿到是不是截取字符串就行了?甚至有的人压根就不截取了干什么?对对,他上传的啥名我就叫啥名是吧,这样我就可以了,当然你这样写也行,甚至有的人是吧,喜欢这样写,这样写可不可以。这个fire,这个对这个什么这个类,它的构造方法是不是两个构造方法,两个空载的构造法,你填一个,问你一个一个路径名也行,俩俩这个一个参数也行,表示这样一个路径,你转两个参数,前边这是路径,后边这是文件名,它俩效果是完全一样,大家明白这意思吧,对这个这都是正好我们以前学的语法,这我们不管了,好,这样的话可以了,可以完了之后下边启动服务再测一测,结果跟刚才肯定完全一样,但是这上传的文件名肯定不一样了,知。
09:26
大家可以看一看。这个地方来登录张三然,这个地方来个YF123登录一下再测,然后呢,这个地方来这个地方来刷一下上传,比如说我上传这个吧,上传这个换一个吧,然后呢,这个地方来个李四,然后呢一点提交,提交上去了,你再来看一看,来看,当然后边肯定也打出来例四了,这里边你再看一看看吧,这个文件。
10:13
原来叫什么我就叫什么,当然你也可以上传什么视频音频,什么压缩包的都可以,好这时候我们才给要说到这个,当然你我们这个地方前的这个地方是吧,这个地方那个试图解易这个地方配置了什最大只能五兆是吧,他这个做了一个验证啊,你这个地方你可以不验证也行,嗯,然我们一般都在前台验证,前台怎么验证,我后边给大家讲好,这是我们这个关于这个文件上传我们就给他。
我来说两句