java oss 批量传输_初步使用阿里云OSS对象存储功能
在使用之前先了解上傳文件/圖片的過程,首先我覺得使用阿里云對(duì)象存儲(chǔ)功能可以分為三種方式上傳到阿里云OSS中;
1)、第一種方案就是:瀏覽器把文件傳到自己的程序中,通過Java代碼去給阿里云OSS服務(wù)器上傳文件;考慮到這樣操作的話會(huì)影響到其他功能的卡頓,因?yàn)镮O是很占用帶寬的,所以第一種方案暫不采用;
2)、第二種方案就是瀏覽器直接將文件傳給阿里云的OSS中,但是這樣做的話是有風(fēng)險(xiǎn)的,容易把阿里云OSS的賬號(hào)密碼泄露掉,畢竟賬號(hào)密碼要寫到瀏覽器上,所以這種方案也不采用!
3)、最后一種方案就是:阿里云OSS的賬號(hào)密碼還是寫到后端,瀏覽器先去自己的程序中拿到后臺(tái)編寫好的防偽碼(泛指一個(gè)假數(shù)據(jù)),拿到之后再次通過瀏覽器去上傳到阿里云OSS中,阿里云OSS成功對(duì)比這個(gè)防偽碼成功即可成功上傳文件/圖片。
接下來開始在程序中安裝(第2,3,4,5,6是上面所說的第一種方案)
導(dǎo)入oss的相關(guān)依賴
<dependency> <groupId>com.aliyun.ossgroupId> <artifactId>aliyun-sdk-ossartifactId> <version>3.10.2version>dependency>3.示例代碼
// Endpoint以杭州為例,其它Region請(qǐng)按實(shí)際情況填寫。String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";// 云賬號(hào)AccessKey有所有API訪問權(quán)限,建議遵循阿里云安全最佳實(shí)踐,創(chuàng)建并使用RAM子賬號(hào)進(jìn)行API訪問或日常運(yùn)維,請(qǐng)登錄 https://ram.console.aliyun.com 創(chuàng)建。String accessKeyId = "";String accessKeySecret = "";// 創(chuàng)建OSSClient實(shí)例。OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);// 上傳文件流。InputStream inputStream = new FileInputStream("");ossClient.putObject("", "", inputStream);// 關(guān)閉OSSClient。ossClient.shutdown();4.也可以導(dǎo)入
<dependency> <groupId>com.alibaba.cloudgroupId> <artifactId>spring-cloud-starter-alicloud-ossartifactId> <version>2.2.0.RELEASEversion>dependency>5.yml配置oss并且注入
spring:??cloud: #阿里云OSS云存儲(chǔ) alicloud: access-key: secret-key: oss: endpoint: http://oss-cn-hangzhou.aliyuncs.com@AutowiredOSSClient ossClient;6.接下來測(cè)試
InputStream inputStream = new FileInputStream("");ossClient.putObject("",?"",?inputStream);// 關(guān)閉OSSClient。ossClient.shutdown();8.接下來考慮到后期需要調(diào)用多個(gè)第三方接口,在這SpringCloud中在加入一個(gè)模塊“dadamall-third-party”首先在pom.xml引入公共模塊的jar,然后加入SpringCloudAlibaba的一系列jar
?????<dependencies> <dependency> <groupId>com.atdada.dadamallgroupId> <artifactId>dadamall-commonsartifactId> <version>0.0.1-SNAPSHOTversion> dependency> <dependency> <groupId>com.alibaba.cloudgroupId> <artifactId>spring-cloud-starter-alicloud-ossartifactId> <version>2.2.0.RELEASEversion> dependency>????dependencies><dependencyManagement>????????<dependencies> <dependency> <groupId>com.alibaba.cloudgroupId> <artifactId>spring-cloud-alibaba-dependenciesartifactId> <version>2.2.3.RELEASEversion> <type>pomtype> <scope>importscope> dependency> dependencies> dependencyManagement>接下來就給這個(gè)新的模塊配置nacos中,怎么配置呢,首先創(chuàng)建bootstrap.properties這個(gè)文件,在nacos的命名空間中添加一個(gè)關(guān)于這個(gè)模塊的名字,然后去配置列表找到這個(gè)名字,拿到namespace,它是一串類似ID的東西。
spring.application.name=dadamall-third-partyspring.cloud.nacos.config.server-addr=127.0.0.1:8848spring.cloud.nacos.config.namespace=******************************然后點(diǎn)新建配置
配置成功之后在bootstrap.properties文件中開始引用
spring.cloud.nacos.config.ext-config[0].data-id=oss.ymlspring.cloud.nacos.config.ext-config[0].group=DEFAULT_GROUPspring.cloud.nacos.config.ext-config[0].refresh=true然后配置上這個(gè)模塊的注冊(cè)服務(wù)到nacos中,新建一個(gè)application.yml
spring: cloud: nacos: discovery: server-addr: 127.0.0.1:8848 application: name: dadamall-third-party考慮到在pom.xml文件中引入了公共的模塊,然而公共的模塊中有myabatisplus的jsr,暫時(shí)我們先不用,這時(shí)候就可以先排除掉
<dependency> <groupId>com.atdada.dadamallgroupId> <artifactId>dadamall-commonsartifactId> <version>0.0.1-SNAPSHOTversion> <exclusions> <exclusion> <groupId>com.baomidougroupId> <artifactId>mybatis-plus-boot-starterartifactId> exclusion> exclusions> dependency>切記切記!!你以為就這樣就能正確配置和注冊(cè)到nacos了嗎?腦子呢???!!!一定要在模塊的啟動(dòng)類上加@EDC這個(gè)注解啊(開啟服務(wù)的注冊(cè)和發(fā)現(xiàn))!說了多少遍了,,,不能忘記~~~
以上是我的個(gè)人筆記,探索未知密寶,記錄學(xué)習(xí)筆記,分享有趣的故事,歡迎大家來訪!
總結(jié)
以上是生活随笔為你收集整理的java oss 批量传输_初步使用阿里云OSS对象存储功能的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: gradle 指定springcloud
- 下一篇: eclipse查看git地址_Git大文