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