00:00
对于我们这个程序啊,我们再运行一下啊。这里边儿李四是吧,我们一直用的李四,现在我不用这个了,用这个王五汉字。看到没,我用的是汉字啊,那这个。上传,咱们这样先上传它吧,卡一。好,我们看一下啊,Images。这里边儿有东西删掉,先给它删掉。注册。上传没问题吧。呀。这儿是不是出问题了?对不对,那这个乱码这是谁的,这是内幕的啊。
01:00
就是普通。表单元素的乱码,这个问题怎么解决?在这儿呢,就是现在他是乱码了。对不对,现在它是乱码了,Name等于就这个东西。战术乱码了。怎么解决呢?我们还是看啊这个API里边的file。Item。看这个file item。File item里边啊,我们看这个get。你看到这儿没。也是get string,这放的什么coding?这是返回。是吧,File item。的值。以字符串的形式返回这个值,Using the specified including,使用指定的字符编码,你如果这什么也不填的话,使用什么默认的字符编码,那现在我们知道它是U杠八的,所以我在这很简单。
02:21
就加了一个UTF-8OK了。这就OK了。哎,这个问题我们就给他解决了啊。啊,这个问题解决了。这样吧,我不改这儿了。咱们每个代码啊。都不让它有那么多的功能。为了让大家。
03:00
后边代码好写啊,我再来一个。啊,这是一个一个的版本。每个版本解决啊,一些基本的功能,一些基本的问题啊。Utf杠八好。那咱们试一下试一下啊。把这个关了。王五。看二。
04:08
啊,这个位置咱们这个。这个位置啊,也删掉了,现在删是吧。他二传过来了,没问题。王五,没问题吧?对不对,OK了。好,继续。继续演示啊,我这次穿什么,我穿这个跑车。是不是汉字啊?早。哎,这个过来了。这个是不是也过来了啊,这个过来了。这个你注意啊,我们给它换个。换个他们开的试试行不行?
05:00
咱们给他换一个tomcat啊。其实这个啊,它存在的不是tomcat的问题,是什么问题呢?实际上是浏览器,浏览器。咱们这样。嗯。我删掉它。冲跑。这次跑。用Tom的七。跑车二走。这是没问题的。Yeah。这这这怎么没过来呀,怎么回事儿?再再再跑一下看看啊。为什么没过来跑这儿,诶,咱们看我这儿。
06:03
没东西啊,我给他放开走。你讲这这应该在这儿,在这个里边呢啊。那现在都过来了是吧,现在都过来了,也没有乱码问题,但是呢。呃,这个。你回头可以试一下啊。你回头可以试一下。浏览器不一样,你上传过程里边啊,浏览器不一样,他对这个接收到这个值。会不一样。当然了,如果你用了他们他们CAD啊,版本再低一些。如果你的他们开的,你不过你注意你他们开的,如果版本低,版本再低的话啊,有好多东西不能用了。
07:03
呃,你就得换低版本了,比如说。我们的。我们的eclipse还是没问题的是吧,Eclipse没问题。那。这里边儿其实也存在一个问题。他这啊会出现什么,会出现乱码。就是上传的文件名。如果还有中文,它也会。出现,也有可能会出现乱码,所以对于这个文件名,文件名file name。对,他也需要注意一些。需要我们做一些工作,这工作怎么做呢?在这儿呢?我们看API。API里边,我们看它下边的这个。Solid file upload。
08:02
看他的方法。在他的这些方法里边,我们不用管啊,我们看这。有一个叫set header。这是谁的?这是他的父类的。File upload base里边的方法,看一下它是干嘛的?这个指令。什么字符编码?被使用的自编码,When reading the head of。In individual part。就是当你读什么每一部分的这个头部信息的时候。他所使用的这个字编码。如果你没有指定。或者是闹,那么他使用的是谁请求的字符编码?
09:00
Requestcoding。请求的编码。如果if there is also not specified or now。那么使用的是平台默认的编码,那么实际上啊,这儿这儿这儿这儿。因为我们没有指令,没有指令它是用的是请求里边的自由编码请求的。请求的,这好像我们也没有设置。对不对,我们也没有设置啊。没有设置。Request里边编码我们没设置啊,所以它里边这个存在的这个问题啊,我们我们这儿看到什么呢?是不是他这儿没有乱码嘛,我说了和浏览器有关系,和浏览器有关系啊,我们。为了保险起见。我们可以这样做。
10:01
啊,我们那个核心对象在哪儿呢。就他。哎。Upload the set header in coding。这是设置。每一个item的。头部。字符。编码你设置这个它就可以防止了什么其可以防止了。文件名。Dot。中文。乱码问题其实可以解决吧,不要防止了文件名的中文乱码问题。
11:06
OK。再看再看啊好,再重新发布了。重新发布了啊,我们看这这是七的嘛,是吧,好。现在里边有谁有卡一,卡一是哪个图片,我们看一下,这是大鲨鱼是吧。是奔驰的啊。这款跑车很漂亮。卡伊,嗯,咱们这样啊。咱们这样。这素材。这奥迪的这个是奥迪,我们这样吧,拷贝个这个。我给他放到这儿。
12:00
这个给他换个名儿,叫什么?还叫卡伊?你看这个是什么奥迪的啊,这是奥迪。好。我现在。找到桌面。这个卡一打开还是卡一。但是你需要注意一点。看着。烧烤。哎,我们是摊不开的七啊。你看看他里边卡一现在的K1是谁,是这个。奔驰的这个这个大鲨鱼是吧。好,我现在。注册。看看出现什么问题了。
13:02
把那个给替换掉了。是不是?那这这不行啊。你这不能啊,你你说我我这一个web项目,Web应用,别人上传的文件名。我上传的文件名。和其他人上传的文明明如果说相同了,要么我把别人的覆盖了,要么别人的把我给覆盖了,这肯定是不好的。所以。不能上传同名的文件,这是不是也是个问题啊?所以我们这个问题怎么解决也比较简单啊,我们可以给他添加点东西呗。比如说。这文件名,找到文件名啊,找到文件名。不叫这个文件名吗?我可以这样。直接这样写吧,File name,我可以给他添加点东西,比如说当前的系统时间。
14:09
点ten million。毫秒啊,是不是当前的系统时间,这个是是个毫秒数,相当于什么1970年1月1号零时00:00:00,对不对,让我加上这个file name,这样的话,你不管原来的名字是什么,我反正现在的名字肯定得加上这个毫秒数了。这样的话,不管谁上传文件。这种。这种同名的几率啊,就很小很小了,因为什么这已经精确到了毫秒了呀。好,我们看一下是不是这种情况啊。现在它里边儿放的是谁?这卡一啊,放的是奥迪是吧,我重新给他换回去。
15:06
素材。是这个含意,就是那个大鲨鱼啊。你看。是不是咔一前面是不是加了个毫秒。对不对。我再上传一个卡,我现在把这都删掉,再上传一个卡。哪儿的桌面儿的。别抗议,走。是不是也是抗议,但是文件名不一样?OK了,哎,这把这个。不能上传同名文件问题也就解决了,诶我们这个版本啊,主要就解决的是什么文件名的。问题。
我来说两句