阿里云OSS基于java使用詳解
近幾年,云圖片服務(wù)器五花八門,越來越多,有騰訊云,阿里云,又拍云,華為云等等,但是使用了這么多年,我還是感覺阿里云圖片服務(wù)器oss比較穩(wěn)定,訪問速度也比較快,因此我在這里手把手教給你如何使用阿里云oss服務(wù);
一、使用之前,我們還是先來搞清楚阿里云oss使用的原理吧:

其實調(diào)用方式也就兩種,一種是直接客戶端調(diào)用阿里云提供的服務(wù)器進行上傳,一種是通過服務(wù)器間接上傳,我們來分析以下優(yōu)缺點吧:
上傳方式優(yōu)點缺點直接調(diào)用上傳速度快,能直接快速上傳到阿里云服務(wù)器,不需要中轉(zhuǎn)可能會不安全,暴露核心配置信息間接調(diào)用安全,appkey和secret不用暴露在客戶端相對安全,速度可能會有點慢
為了安全起見,我們還是采用服務(wù)端間接上傳的方式,這種方式為了規(guī)避上傳速度,可以在阿里云服務(wù)器端進行局域網(wǎng)上傳。
二、下面我們就一起進入java版本的OSS上傳實戰(zhàn)中吧:
1.在項目中引用maven依賴,如果不是maven工程的,請自行到阿里云oss上面下載對應(yīng)的jar;
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency>
2.封裝對應(yīng)的工具類,另外,endPoint 有兩種方式,一種為服務(wù)端通過外網(wǎng)上傳,一種為服務(wù)端通過局域網(wǎng)進行上傳,使用的過程中可以自行選擇:
public class OssUtil {
//這里的配置可以在properties或者yml中進行配置
@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é)方式進行上傳,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("上傳時間:{}ms", (System.currentTimeMillis() - start));
}
}
}
到此這篇關(guān)于阿里云OSS基于java使用詳解 的文章就介紹到這了,更多相關(guān)阿里云OSS基于java內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java實現(xiàn)FTP文件的上傳和下載功能的實例代碼
FTP 是File Transfer Protocol(文件傳輸協(xié)議)的英文簡稱,而中文簡稱為“文傳協(xié)議”。接下來通過本文給大家實例講解Java實現(xiàn)FTP文件的上傳和下載功能,需要的的朋友一起看看吧2016-11-11
Java 實現(xiàn)限流器處理Rest接口請求詳解流程
在工作中是否會碰到這樣的場景,高并發(fā)的請求但是無法全部執(zhí)行,需要一定的限流。如果你是使用的微服務(wù)框架,比如SpringCloud,可以使用Gateway增加限流策略來解決。本篇文章是在沒有框架的情況實現(xiàn)限流器2021-11-11

