阿里云OSS基于java使用詳解
近幾年,云圖片服務(wù)器五花八門,越來越多,有騰訊云,阿里云,又拍云,華為云等等,但是使用了這么多年,我還是感覺阿里云圖片服務(wù)器oss比較穩(wěn)定,訪問速度也比較快,因此我在這里手把手教給你如何使用阿里云oss服務(wù);
一、使用之前,我們還是先來搞清楚阿里云oss使用的原理吧:
其實(shí)調(diào)用方式也就兩種,一種是直接客戶端調(diào)用阿里云提供的服務(wù)器進(jìn)行上傳,一種是通過服務(wù)器間接上傳,我們來分析以下優(yōu)缺點(diǎn)吧:
上傳方式優(yōu)點(diǎn)缺點(diǎn)直接調(diào)用上傳速度快,能直接快速上傳到阿里云服務(wù)器,不需要中轉(zhuǎn)可能會(huì)不安全,暴露核心配置信息間接調(diào)用安全,appkey和secret不用暴露在客戶端相對(duì)安全,速度可能會(huì)有點(diǎn)慢
為了安全起見,我們還是采用服務(wù)端間接上傳的方式,這種方式為了規(guī)避上傳速度,可以在阿里云服務(wù)器端進(jìn)行局域網(wǎng)上傳。
二、下面我們就一起進(jìn)入java版本的OSS上傳實(shí)戰(zhàn)中吧:
1.在項(xiàng)目中引用maven依賴,如果不是maven工程的,請自行到阿里云oss上面下載對(duì)應(yīng)的jar;
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency>
2.封裝對(duì)應(yīng)的工具類,另外,endPoint 有兩種方式,一種為服務(wù)端通過外網(wǎng)上傳,一種為服務(wù)端通過局域網(wǎng)進(jìn)行上傳,使用的過程中可以自行選擇:
public class OssUtil { //這里的配置可以在properties或者yml中進(jìn)行配置 @Value("${oss.accessKeyId}") private String accessKeyId; @Value("${oss.accessKeySecret}") private String accessKeySecret; @Value("${oss.bucketName}") private String bucketName; @Value("${oss.endPoint}") private String endPoint ; //文件直接上傳的方式,filename 為定義的文件名字 public void upload(File obj, String fileName) { OSSClient ossClient = null; try { ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret); ossClient.putObject(bucketName, fileName, obj); } catch (Exception e) { e.printStackTrace(); } finally { if (ossClient != null) ossClient.shutdown(); } } //文件字節(jié)方式進(jìn)行上傳,filename 為定義的文件名字 public void upload(byte[] array, String fileName) { long start = System.currentTimeMillis(); OSSClient ossClient = null; try { ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret); ossClient.putObject(bucketName, fileName, new ByteArrayInputStream(array)); } catch (Exception e) { e.printStackTrace(); } finally { if (ossClient != null) ossClient.shutdown(); log.info("上傳時(shí)間:{}ms", (System.currentTimeMillis() - start)); } } }
到此這篇關(guān)于阿里云OSS基于java使用詳解 的文章就介紹到這了,更多相關(guān)阿里云OSS基于java內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
一文教你學(xué)會(huì)如何使用MyBatisPlus
本篇文章,我們通過 MyBatis Plus 來對(duì)一張表進(jìn)行 CRUD 操作,來看看是如何簡化我們開發(fā)的,文中通過代碼示例介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下2024-05-05編譯期動(dòng)態(tài)替換三方包中的Class文件過程詳解
這篇文章主要為大家介紹了編譯期動(dòng)態(tài)替換三方包中的Class文件過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03java實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用java語言實(shí)現(xiàn)身份證號(hào)碼驗(yàn)證的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-09-09Java實(shí)現(xiàn)FTP文件的上傳和下載功能的實(shí)例代碼
FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。接下來通過本文給大家實(shí)例講解Java實(shí)現(xiàn)FTP文件的上傳和下載功能,需要的的朋友一起看看吧2016-11-11Java 實(shí)現(xiàn)限流器處理Rest接口請求詳解流程
在工作中是否會(huì)碰到這樣的場景,高并發(fā)的請求但是無法全部執(zhí)行,需要一定的限流。如果你是使用的微服務(wù)框架,比如SpringCloud,可以使用Gateway增加限流策略來解決。本篇文章是在沒有框架的情況實(shí)現(xiàn)限流器2021-11-11教你Spring如何使用三級(jí)緩存解決循環(huán)依賴
這篇文章主要介紹了Spring使用三級(jí)緩存解決循環(huán)依賴的過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-03-03