1. 程式人生 > 程式設計 >阿里雲OSS域名配置及簡單上傳的示例程式碼

阿里雲OSS域名配置及簡單上傳的示例程式碼

目前開發系統,附件檔案一般都會使用第三方的儲存空間來儲存,一方面是為了開發者提供便利,另一方可以減輕系統的訪問壓力,下面介紹一下阿里雲的OSS的一些簡單配置和使用。

一、阿里雲OSS配置

前提:你需要購買阿里雲的OSS伺服器,這裡就不多介紹;你需要有一個備案域名,此處也不多介紹(本人使用的阿里雲進行備案的域名)。

1. 阿里雲OSS配置域名

1)建立bucket

阿里雲OSS域名配置及簡單上傳的示例程式碼

2)選擇tpw-bucket的“域名管理”,然後點選繫結使用者域名:

阿里雲OSS域名配置及簡單上傳的示例程式碼

3)建立域名:

阿里雲OSS域名配置及簡單上傳的示例程式碼

此處建立二級域名進行繫結,如果你想簡單,就可以選擇“自動新增CNAME記錄”,可以自動配置(這裡我就不自動加入)。

4)域名配置cname:

阿里雲OSS域名配置及簡單上傳的示例程式碼

建立後 得到oss訪問域名“tpw-bucket.oss-cn-beijing.aliyuncs.com”,將此配置到域名解析中。

5)配置域名解析:

阿里雲OSS域名配置及簡單上傳的示例程式碼

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

阿里雲OSS域名配置及簡單上傳的示例程式碼

2. 配置RAM許可權組

1)選擇“訪問控制”

阿里雲OSS域名配置及簡單上傳的示例程式碼

2)增加oss的配置:

選擇“AliyunOSSFullAccess”

阿里雲OSS域名配置及簡單上傳的示例程式碼

此處增加RAM訪問許可權的原因是保護阿里雲唯一的key,可以自定義RAM來使用,此處可以獲得accessKeyId 和 accessKeySecret,開發時將會用到

二、程式碼開發

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: 根據檔案地址獲得臨時的請求地址
	 * @author: tianpengw
	 * @param objectName
	 * @return
	 */
	public static String getTemporaryOssUrl(String objectName){
		String ossUrl = "";
		// 建立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,訪客可以直接通過瀏覽器訪問相關內容。
			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){
		// 建立OSSClient例項。
		OSSClient ossClient = null;
		try {
			// 初始化OSSClient例項。
			ossClient = new OSSClient(endpoint,accessKeySecret);
			
			// 上傳檔案。<yourLocalFile>由本地檔案路徑加檔名包括字尾組成,例如/users/local/myfile.txt。
			ossClient.putObject(bucketName,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域名配置及簡單上傳的示例程式碼

到此這篇關於阿里雲OSS域名配置及簡單上傳的示例程式碼的文章就介紹到這了,更多相關阿里雲OSS域名配置及上傳內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!