00:01
呃,他有了这个权限以后哈,咱们下边就是看这个代码怎么写。呃,说我们会需要用到oss的SDK。啊,那说啥叫SDK呢。JDK是Java development kit啊,这个SDK呢,是software development kit。这是Java的开发工具包,这是一个软件的开发工具包啊,你要用oss的功能,就是用oss的SDK啊,你后边我们是做支付的时候,就用支付的那个SDK啊,是这么一个东西。其实它就是个依赖啊,就就是这么个依赖,我们导入这个依赖哈,就这些呢,我们都照他官方文档都能找到依据,咱们就不去不去看了哈,直接拿看这现成的。嗯。哎,我们浏览器上传上来,我们Java程序接收到一个输入流,哎,用这个输入流呢,上传到oss。那么怎么去引入到这个项目里边,咱们先准备一个oss properties这么一个类啊。
01:05
呃,所在的工程。嗯,这样哈,咱们。Control Cha。在这回呢,我们就操作的是我们project。com.at硅谷点C点。Config。Properties。播一下。截个图。
02:01
这个类里边呢,我们将来访问的时候哈,我们写这个代码需要用到endpoint bucket name access PID。Access secret budget do啊,这几个都需要用到。咱们就把这几个东西呢,都拿过来啊。配置文件里边可以配阿里云点oss。Ctrl shift的哦。他要是这几个不能倒的话呢,就是我们这还没有添加必要的依赖啊。我们这儿加一下,它需要依赖我们这个NTT。这样吧,咱们依赖一下API就行了。呃,API。依赖了API的话呢,在这儿他就能够。API的下边有AU9和NT。诶,然后过来这儿,我们的CTRL师傅的O。
03:02
把这个拿进来这边呢,他会说给一个提示,说让我们去加这个啊,再加这么个依赖。加完了加完了这个以后呢。呃,把这个加进来,我们就配置文件就有提示了。然后呢,呃,将OS代码中用到的属性啊,存入到我们压模的配置文件啊。这个我们去见一下他的application。这个压里当然哈,去给它配一下,这不是我们S点泡。呃,这个数一下哈,应该是1000。两千三千四千,这应该是5000了哈。啊,这是五线。然后spring点。Application。
04:00
这边要好。啊,这个叫。它我们肯定也需要用它呢,去做这个session的共享。幺九二幺六八点。二零幺点一百。然后session点。哎,这就是说我们这些属都要配的。还有这个像U瑞卡。呃,赛利这个其实肯定也需要,也需要整这个页面哈,这个也拿也这个也拿过来。这个排名不分先后。嗯。Control c。我们这边这个有人卡的客户端也给他拿过来。
05:02
Start web也需要。配它用到了再说吧。在。Park。行吧,这个推拿过来也不影响。哎,对,这个这两个是需要的。啊,就是它里边呢,把这个依赖也找过来。还有的话呢,就是在这儿去配一下这个我们阿里云相关的这些个属性。云。零点,Oss点。呃,一个一个来吧,Access KD是多少。咱们用一下这个前面的这个值哈。呃,是这个CTRLC。
06:04
Access key secret。还有啥?这个我们到。回到我们的这边看啊。对象存储。Bar。现在要的是。巴的多。8T的域名就整个是这一段。CTRLC。哎,还需要啥巴内。End point point其实是这个。哎,咱们。把这一套拿过来。
07:03
会有点儿不太一样哈。然后呢,我们这个文件。这个application点啊,我们配的是这个东西。嗯。好嘞,嗯,那然后呢,就是。嗯,咱们创建一个能上传文件的工具方法啊,这个肯定工具方法我们去放到这个优秀的里边。这里边看看也没有什么特殊的类型啊,就是这个字符串字符串input stream啊,没有什么特殊的类型。呃,这边对需要一个需要这种oss。
08:03
呃,需要OS client这样的这样的东西啊,说明他就是需要那个oss的这个包。呃,所以说呢,这个是需要在需要拿过来这个依赖的。这个就哪个依赖呢,就是SDK的这个R。这个是放到我们悠久这。我看我这得写一下啊这个。这个应该放哪呢?这个应该在这儿说啊,创建这个工具方法。呃,首先呢,得去加入这个依赖。
09:03
这个,然后我们这边操作的这个工程。嗯,在他的泡沫里边哈,是加入这个依赖。是我们oss的SDK。哎,然后呢。呃,下边这个工具方法哈,这个写到哪儿呢?放到这个我们C的优。啊,放到这里边啊。几个工具方法。
10:04
这工具方法里边其实是怎么干的哈,他先创建一个oss client这么一个对象。然后呢?嗯。这生成上传文件的目录,这是什么意思呢?这个目录哈,就是为什么新建,每次新建目录。呃。这个我们用户呢,会上传很多个文件。这个文件呢,就是要不你就不管它,就全部放到这个根目录下边,这个放很多很多很多。这个这个根目录下边呢,其实你要是存文件存很多的话呢,它就其实在很多文件里边找,它其实就效率比较低,它不是很好找。那么我们比较好的一个做法就是说每天创建一个目录,每天创建一个目录,当天的文件就在当天的目录里边,这样的话呢,它整各个目录的文件吧,相对比较平均。然后每个目录里边的这个,呃,文件呢,也不至于说是特别多啊。
11:01
啊,所以在这儿的话,你看年月日,哎,根据这个呢,去创建一个目录的名字。这个后边会在这会用到。再然后呢,是我们使用UUID。Random u ID,兔子俊哈,这个东西是生成一个类似这样的一个随机数啊,随机数一组这个随机的内容的这个字符串啊。呃,这个它原本呢,它会中间呢,会有这个横线。它原本会有这样的横线,Replace横线替换为空字串,就是把这些原本的横线给它去掉。为啥不用原本的文件名呢?用原本的文件名,你同一个文件名再上传,上传的话会把以前的文件给覆盖掉。啊,会把以前的文件覆盖掉。这是我们的文件的文件名,哎,再拿这个你传给我的原始的文件名,我呢,呃,去取它这最后一个点,后边这部分。
12:04
我呢,取后边这一部分啊,就取它的扩展名。哎,然后目录的名字加文件名加扩展名,哎,就是整个的一个这叫对象的名字。然后呢,将这客户端的put object name object name input stream啊统的名字,对象的名字上传的输入流。返回这么一个结果的对象,哎,然后get response啊这结果。哎,然后呢,这个根据他后续的操作判断,他是不是这个成功。Response message,如果是等于no的话啊,这个就是说,呃,就是是成功的。开这边这个就是。呃,将来访问的路径呢,就是我们baret domain啊,加上这个斜杠,加上object name就能访问了。八桶的域名,哎,然后呢,这边success位置data。把这个把操作的结果哈,就是把这个上传的路径生成的路径的返回。
13:01
如果说部位闹的话,返回一下这个消息啊,返回一下就是这个状态码,返回返回一下消息,呃,然后呢,我们让调用者知道出了什么问题啊,如果抛异常的话也是诶。最后把它给关闭。哎,就是这个就是一个这里边儿核心的核心的上传,就是这个对象的put object的这个方法啊,整个这个都是围绕他来写的。哎,我们把这个工具类呢,咱们就直接拿过来了。那看看有没有什么要改的哈,Ctrl shiftl ott。哎,专门负责上传啊,这是我们这几个传的参数。行,这个看着是看着,没有什么更多的要改的哈,这个咱们就这个,咱们就不再去重新写这个方法了。
我来说两句