阿里云OSS域名配置及簡單上傳的示例代碼
目前開發(fā)系統(tǒng),附件文件一般都會使用第三方的存儲空間來保存,一方面是為了開發(fā)者提供便利,另一方可以減輕系統(tǒng)的訪問壓力,下面介紹一下阿里云的OSS的一些簡單配置和使用。
一、阿里云OSS配置
前提:你需要購買阿里云的OSS服務器,這里就不多介紹;你需要有一個備案域名,此處也不多介紹(本人使用的阿里云進行備案的域名)。
1. 阿里云OSS配置域名
1)創(chuàng)建bucket

2)選擇tpw-bucket的“域名管理”,然后點擊綁定用戶域名:

3)創(chuàng)建域名:

此處創(chuàng)建二級域名進行綁定,如果你想簡單,就可以選擇“自動添加CNAME記錄”,可以自動配置(這里我就不自動加入)。
4)域名配置cname:

創(chuàng)建后 得到oss訪問域名“tpw-bucket.oss-cn-beijing.aliyuncs.com”,將此配置到域名解析中。
5)配置域名解析:

6) 加入測試圖片,測試配置結果:

2. 配置RAM權限組
1)選擇“訪問控制”

2)增加oss的配置:
選擇“AliyunOSSFullAccess”

此處增加RAM訪問權限的原因是保護阿里云唯一的key,可以自定義RAM來使用,此處可以獲得accessKeyId 和 accessKeySecret,開發(fā)時將會用到
二、代碼開發(fā)
1.加入pom
<dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.8.3</version> </dependency>
注意:如果缺失其他jar自己處理
2. 代碼粘貼:
package com.xzz.yn.util;
import java.io.File;
import java.net.URL;
import java.util.Date;
import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSSClient;
/**
* @ClassName: AliyunOssUtil
* @Description: 阿里云存儲服務器工具類
* @author: tianpengw
* @date 2019年3月15日 下午1:47:03
*
*/
public class AliyunOssUtils {
public static String outsideUrl = "http://tpw-bucket.xxxxxxxx.com";
public static String defaultOssUrl = "tpw-bucket.oss-cn-beijing.aliyuncs.com";
public static String bucketName = "tpw-bucket";
private static String endpoint = "http://oss-cn-beijing.aliyuncs.com";
private static String accessKeyId = "XXXXXXXXXXXXXXXX";
private static String accessKeySecret = "YYYYYYYYYYYYYYYYYYYY";
/**
*
* @Description: 根據(jù)文件地址獲得臨時的請求地址
* @author: tianpengw
* @param objectName
* @return
*/
public static String getTemporaryOssUrl(String objectName){
String ossUrl = "";
// 創(chuàng)建OSSClient實例。
OSSClient ossClient = null;
try {
// 初始化OSSClient實例。
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 設置URL過期時間為24小時。
Date expiration = new Date(new Date().getTime() + 3600 * 1000 * 24);
// 生成以GET方法訪問的簽名URL,訪客可以直接通過瀏覽器訪問相關內(nèi)容。
URL url = ossClient.generatePresignedUrl(bucketName, objectName, expiration);
ossUrl = url.toString();
return ossUrl.replace(defaultOssUrl, "tpw-bucket.xxxxxxx.com");
} catch (ClientException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(null != ossClient){
// 關閉OSSClient。
ossClient.shutdown();
}
}
return ossUrl;
}
/**
*
* @Description: 簡單上傳文件
* @author: tianpengw
* @param fileName
* @param objectName
*/
public static void uploadFile(String fileName,String objectName){
// 創(chuàng)建OSSClient實例。
OSSClient ossClient = null;
try {
// 初始化OSSClient實例。
ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
// 上傳文件。<yourLocalFile>由本地文件路徑加文件名包括后綴組成,例如/users/local/myfile.txt。
ossClient.putObject(bucketName, objectName, new File(fileName));
} catch (ClientException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally {
if(null != ossClient){
// 關閉OSSClient。
ossClient.shutdown();
}
}
}
public static void main(String[] args) {
AliyunOssUtil.uploadFile("d:/family_logo-new1.png", "file/photo/family_logo-new1.JPG");
String url = AliyunOssUtils.getTemporaryOssUrl("file/photo/family_logo-new1.JPG");
System.out.println(url);
}
}
代碼比較簡單,基本沒啥太大疑問;不過上傳沒有返回結果,不能保證上傳成功。
3. 測試結果:


到此這篇關于阿里云OSS域名配置及簡單上傳的示例代碼的文章就介紹到這了,更多相關阿里云OSS域名配置及上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
java WebSocket實現(xiàn)聊天消息推送功能
這篇文章主要為大家詳細介紹了java WebSocket實現(xiàn)聊天消息推送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07
java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)
這篇文章主要給大家介紹了關于java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)的相關資料,需要的朋友可以參考下2023-08-08
mapstruct的用法之qualifiedByName示例詳解
qualifiedByName的意思就是使用這個Mapper接口中的指定的默認方法去處理這個屬性的轉換,而不是簡單的get?set,今天通過本文給大家介紹下mapstruct的用法之qualifiedByName示例詳解,感興趣的朋友一起看看吧2022-04-04
基于Spring概念模型:PathMatcher 路徑匹配器
這篇文章主要介紹了Spring概念模型:PathMatcher 路徑匹配器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
spring中使用mybatis plus連接sqlserver的方法實現(xiàn)
這篇文章主要介紹了spring中使用mybatis plus連接sqlserver的方法實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-12-12

