阿里云OSS域名配置及簡單上傳的示例代碼
目前開發(fā)系統(tǒng),附件文件一般都會使用第三方的存儲空間來保存,一方面是為了開發(fā)者提供便利,另一方可以減輕系統(tǒng)的訪問壓力,下面介紹一下阿里云的OSS的一些簡單配置和使用。
一、阿里云OSS配置
前提:你需要購買阿里云的OSS服務(wù)器,這里就不多介紹;你需要有一個備案域名,此處也不多介紹(本人使用的阿里云進(jìn)行備案的域名)。
1. 阿里云OSS配置域名
1)創(chuàng)建bucket
2)選擇tpw-bucket的“域名管理”,然后點擊綁定用戶域名:
3)創(chuàng)建域名:
此處創(chuàng)建二級域名進(jìn)行綁定,如果你想簡單,就可以選擇“自動添加CNAME記錄”,可以自動配置(這里我就不自動加入)。
4)域名配置cname:
創(chuàng)建后 得到oss訪問域名“tpw-bucket.oss-cn-beijing.aliyuncs.com”,將此配置到域名解析中。
5)配置域名解析:
6) 加入測試圖片,測試配置結(jié)果:
2. 配置RAM權(quán)限組
1)選擇“訪問控制”
2)增加oss的配置:
選擇“AliyunOSSFullAccess”
此處增加RAM訪問權(quán)限的原因是保護(hù)阿里云唯一的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: 阿里云存儲服務(wù)器工具類 * @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); // 設(shè)置URL過期時間為24小時。 Date expiration = new Date(new Date().getTime() + 3600 * 1000 * 24); // 生成以GET方法訪問的簽名URL,訪客可以直接通過瀏覽器訪問相關(guān)內(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){ // 關(guān)閉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){ // 關(guān)閉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); } }
代碼比較簡單,基本沒啥太大疑問;不過上傳沒有返回結(jié)果,不能保證上傳成功。
3. 測試結(jié)果:
到此這篇關(guān)于阿里云OSS域名配置及簡單上傳的示例代碼的文章就介紹到這了,更多相關(guān)阿里云OSS域名配置及上傳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java WebSocket實現(xiàn)聊天消息推送功能
這篇文章主要為大家詳細(xì)介紹了java WebSocket實現(xiàn)聊天消息推送功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-07-07java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)
這篇文章主要給大家介紹了關(guān)于java提取字符串中數(shù)字string以及獲取字符串中的整數(shù)或小數(shù)的相關(guān)資料,需要的朋友可以參考下2023-08-08mapstruct的用法之qualifiedByName示例詳解
qualifiedByName的意思就是使用這個Mapper接口中的指定的默認(rèn)方法去處理這個屬性的轉(zhuǎn)換,而不是簡單的get?set,今天通過本文給大家介紹下mapstruct的用法之qualifiedByName示例詳解,感興趣的朋友一起看看吧2022-04-04基于Spring概念模型:PathMatcher 路徑匹配器
這篇文章主要介紹了Spring概念模型:PathMatcher 路徑匹配器,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09spring中使用mybatis plus連接sqlserver的方法實現(xiàn)
這篇文章主要介紹了spring中使用mybatis plus連接sqlserver的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-12-12