demo整理來源https://help.aliyun.com/document_detail/32011.html
1 /** 2 * 示例說明 3 * <p> 4 * HelloOSS是OSS Java SDK的示例程序,您可以修改endpoint、accessKeyId、accessKeySecret、bucketName后直接運行。 5 * 運行方法請參考README。 6 * <p> 7 * 本示例中的並不包括OSS Java SDK的所有功能,詳細功能及使用方法,請參看“SDK手冊 > Java-SDK”, 8 * 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/preface.html?spm=5176.docoss/sdk/java-sdk/。 9 * <p> 10 * 調用OSS Java SDK的方法時,拋出異常表示有錯誤發生;沒有拋出異常表示成功執行。 11 * 當錯誤發生時,OSS Java SDK的方法會拋出異常,異常中包括錯誤碼、錯誤信息,詳細請參看“SDK手冊 > Java-SDK > 異常處理”, 12 * 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/exception.html?spm=5176.docoss/api-reference/error-response。 13 * <p> 14 * OSS控制台可以直觀的看到您調用OSS Java SDK的結果,OSS控制台地址是:https://oss.console.aliyun.com/index#/。 15 * OSS控制台使用方法請參看文檔中心的“控制台用戶指南”, 指南的來鏈接地址是:https://help.aliyun.com/document_detail/oss/getting-started/get-started.html?spm=5176.docoss/user_guide。 16 * <p> 17 * OSS的文檔中心地址是:https://help.aliyun.com/document_detail/oss/user_guide/overview.html。 18 * OSS Java SDK的文檔地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/install.html?spm=5176.docoss/sdk/java-sdk。 19 */ 20 21 package com.aliyun.oss.demo; 22 23 import java.io.*; 24 import java.net.URL; 25 import java.util.List; 26 import java.util.Date; 27 28 import com.aliyun.oss.ClientException; 29 import com.aliyun.oss.OSSClient; 30 import com.aliyun.oss.OSSException; 31 import com.aliyun.oss.model.*; 32 33 import org.apache.log4j.Logger; 34 import org.apache.log4j.PropertyConfigurator; 35 36 37 public class HelloOSS { 38 static Logger logger = Logger.getLogger(HelloOSS.class); 39 40 // endpoint是訪問OSS的域名。如果您已經在OSS的控制台上 創建了Bucket,請在控制台上查看域名。 41 // 如果您還沒有創建Bucket,endpoint選擇請參看文檔中心的“開發人員指南 > 基本概念 > 訪問域名”, 42 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html?spm=5176.docoss/user_guide/endpoint_region 43 // endpoint的格式形如“http://oss-cn-hangzhou.aliyuncs.com/”,注意http://后不帶bucket名稱, 44 // 比如“http://bucket-name.oss-cn-hangzhou.aliyuncs.com”,是錯誤的endpoint,請去掉其中的“bucket-name”。 45 private static String endpoint = ""; 46 47 // accessKeyId和accessKeySecret是OSS的訪問密鑰,您可以在控制台上創建和查看, 48 // 創建和查看訪問密鑰的鏈接地址是:https://ak-console.aliyun.com/#/。 49 // 注意:accessKeyId和accessKeySecret前后都沒有空格,從控制台復制時請檢查並去除多余的空格。 50 private static String accessKeyId = ""; 51 private static String accessKeySecret = ""; 52 53 // Bucket用來管理所存儲Object的存儲空間,詳細描述請參看“開發人員指南 > 基本概念 > OSS基本概念介紹”。 54 // Bucket命名規范如下:只能包括小寫字母,數字和短橫線(-),必須以小寫字母或者數字開頭,長度必須在3-63字節之間。 55 private static String bucketName = ""; 56 57 58 public static void main(String[] args) { 59 60 // 日志配置,OSS Java SDK使用log4j記錄錯誤信息。示例程序會在工程目錄下生成“oss-demo.log”日志文件,默認日志級別是INFO。 61 // 日志的配置文件是“conf/log4j.properties”,如果您不需要日志,可以沒有日志配置文件和下面的日志配置。 62 PropertyConfigurator.configure("conf/log4j.properties"); 63 64 logger.info("Started"); 65 66 // 生成OSSClient,您可以指定一些參數,詳見“SDK手冊 > Java-SDK > 初始化”, 67 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/init.html?spm=5176.docoss/sdk/java-sdk/get-start 68 OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); 69 70 try { 71 72 // 判斷Bucket是否存在。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 73 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init 74 if (ossClient.doesBucketExist(bucketName)) { 75 System.out.println("您已經創建Bucket:" + bucketName + "。"); 76 } else { 77 System.out.println("您的Bucket不存在,創建Bucket:" + bucketName + "。"); 78 // 創建Bucket。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 79 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init 80 ossClient.createBucket(bucketName); 81 } 82 83 // 查看Bucket信息。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 84 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init 85 BucketInfo info = ossClient.getBucketInfo(bucketName); 86 System.out.println("Bucket " + bucketName + "的信息如下:"); 87 System.out.println("\t數據中心:" + info.getBucket().getLocation()); 88 System.out.println("\t創建時間:" + info.getBucket().getCreationDate()); 89 System.out.println("\t用戶標志:" + info.getBucket().getOwner()); 90 91 92 //上傳本地的新聞圖片流文件 93 String newFileKey = "newFileKeytest2.jpg"; 94 InputStream inputStream = new FileInputStream("newFileKey.jpg"); 95 ossClient.putObject(bucketName, "xxxx/"+newFileKey, inputStream); 96 97 // 設置URL過期時間為1小時。 98 Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); 99 // 生成以GET方法訪問的簽名URL,訪客可以直接通過瀏覽器訪問相關內容。 100 URL url = ossClient.generatePresignedUrl(bucketName, "xxxx/"+newFileKey, expiration); 101 System.out.println(url); 102 103 104 // 查看Bucket中的Object。詳細請參看“SDK手冊 > Java-SDK > 管理文件”。 105 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket 106 // 指定前綴。 107 final String keyPrefix = "xxxx"; 108 // 列舉包含指定前綴的文件。默認列舉100個文件。 109 ObjectListing objectListing = ossClient.listObjects(new ListObjectsRequest(bucketName).withPrefix(keyPrefix)); 110 List<OSSObjectSummary> sums = objectListing.getObjectSummaries(); 111 System.out.println("您有以下Object:"); 112 for (OSSObjectSummary s : sums) { 113 System.out.println("\t" + s.getKey()); 114 } 115 116 117 // 刪除Object。詳細請參看“SDK手冊 > Java-SDK > 管理文件”。 118 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket 119 //ossClient.deleteObject(bucketName, newFileKey); 120 //System.out.println("刪除Object:" + newFileKey + "成功。"); 121 122 123 } catch (OSSException oe) { 124 oe.printStackTrace(); 125 } catch (ClientException ce) { 126 ce.printStackTrace(); 127 } catch (Exception e) { 128 e.printStackTrace(); 129 } finally { 130 ossClient.shutdown(); 131 } 132 133 logger.info("Completed"); 134 } 135 136 137 }
添加一點新東西 隨機字符串
1 package com.aliyun.oss.demo; 2 3 import java.io.*; 4 import java.net.URL; 5 import java.util.List; 6 import java.util.Date; 7 import java.util.Random; 8 9 import com.aliyun.oss.ClientException; 10 import com.aliyun.oss.OSSClient; 11 import com.aliyun.oss.OSSException; 12 import com.aliyun.oss.model.*; 13 14 import org.apache.log4j.Logger; 15 import org.apache.log4j.PropertyConfigurator; 16 17 18 public class HelloOSS { 19 static Logger logger = Logger.getLogger(HelloOSS.class); 20 21 // endpoint是訪問OSS的域名。如果您已經在OSS的控制台上 創建了Bucket,請在控制台上查看域名。 22 // 如果您還沒有創建Bucket,endpoint選擇請參看文檔中心的“開發人員指南 > 基本概念 > 訪問域名”, 23 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html?spm=5176.docoss/user_guide/endpoint_region 24 // endpoint的格式形如“http://oss-cn-hangzhou.aliyuncs.com/”,注意http://后不帶bucket名稱, 25 // 比如“http://bucket-name.oss-cn-hangzhou.aliyuncs.com”,是錯誤的endpoint,請去掉其中的“bucket-name”。 26 private static String endpoint = ""; 27 28 // accessKeyId和accessKeySecret是OSS的訪問密鑰,您可以在控制台上創建和查看, 29 // 創建和查看訪問密鑰的鏈接地址是:https://ak-console.aliyun.com/#/。 30 // 注意:accessKeyId和accessKeySecret前后都沒有空格,從控制台復制時請檢查並去除多余的空格。 31 private static String accessKeyId = ""; 32 private static String accessKeySecret = ""; 33 34 // Bucket用來管理所存儲Object的存儲空間,詳細描述請參看“開發人員指南 > 基本概念 > OSS基本概念介紹”。 35 // Bucket命名規范如下:只能包括小寫字母,數字和短橫線(-),必須以小寫字母或者數字開頭,長度必須在3-63字節之間。 36 private static String bucketName = ""; 37 38 39 public static void main(String[] args) { 40 41 // 日志配置,OSS Java SDK使用log4j記錄錯誤信息。示例程序會在工程目錄下生成“oss-demo.log”日志文件,默認日志級別是INFO。 42 // 日志的配置文件是“conf/log4j.properties”,如果您不需要日志,可以沒有日志配置文件和下面的日志配置。 43 PropertyConfigurator.configure("conf/log4j.properties"); 44 45 logger.info("Started"); 46 47 // 生成OSSClient,您可以指定一些參數,詳見“SDK手冊 > Java-SDK > 初始化”, 48 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/init.html?spm=5176.docoss/sdk/java-sdk/get-start 49 OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); 50 51 try { 52 53 /* 校驗存儲空間 */ 54 // 判斷Bucket是否存在。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 55 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init 56 if (ossClient.doesBucketExist(bucketName)) { 57 System.out.println("您已經創建Bucket:" + bucketName + "。"); 58 } else { 59 System.out.println("您的Bucket不存在,創建Bucket:" + bucketName + "。"); 60 // 創建Bucket。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 61 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init 62 ossClient.createBucket(bucketName); 63 } 64 65 // 查看Bucket信息。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 66 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init 67 BucketInfo info = ossClient.getBucketInfo(bucketName); 68 System.out.println("Bucket " + bucketName + "的信息如下:"); 69 System.out.println("\t數據中心:" + info.getBucket().getLocation()); 70 System.out.println("\t創建時間:" + info.getBucket().getCreationDate()); 71 System.out.println("\t用戶標志:" + info.getBucket().getOwner()); 72 73 74 75 /*上傳本地圖片*/ 76 //圖片全路徑 77 String filePath = "G://oss//snow.jpg"; 78 //上傳文件全名稱 79 String newFileKey = getStringRandom(32)+getContentType(filePath); 80 InputStream inputStream = new FileInputStream(filePath); 81 //上傳流文件 82 ossClient.putObject(bucketName, "xxxx/"+newFileKey, inputStream); 83 84 // 設置URL過期時間為1小時。 85 Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); 86 // 生成以GET方法訪問的簽名URL,訪客可以直接通過瀏覽器訪問相關內容。 87 URL url = ossClient.generatePresignedUrl(bucketName, "xxxx/"+newFileKey, expiration); 88 System.out.println(url); 89 90 /*遍歷存儲空間*/ 91 // 查看Bucket中的Object。詳細請參看“SDK手冊 > Java-SDK > 管理文件”。 92 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket 93 // 指定前綴。 94 final String keyPrefix = "xxxx"; 95 // 列舉包含指定前綴的文件。默認列舉100個文件。 96 ObjectListing objectListing = ossClient.listObjects(new ListObjectsRequest(bucketName).withPrefix(keyPrefix)); 97 List<OSSObjectSummary> sums = objectListing.getObjectSummaries(); 98 System.out.println("您有以下Object:"); 99 for (OSSObjectSummary s : sums) { 100 System.out.println("\t" + s.getKey()); 101 } 102 103 /*下載文件到本地*/ 104 // 下載OSS文件到本地文件。如果指定的本地文件存在會覆蓋,不存在則新建。 105 ossClient.getObject(new GetObjectRequest(bucketName, "xxxx/"+newFileKey), new File("G://oss//"+newFileKey)); 106 107 /*刪除空間文件*/ 108 // 刪除Object。詳細請參看“SDK手冊 > Java-SDK > 管理文件”。 109 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket 110 //ossClient.deleteObject(bucketName, newFileKey); 111 //System.out.println("刪除Object:" + newFileKey + "成功。"); 112 113 114 } catch (OSSException oe) { 115 oe.printStackTrace(); 116 } catch (ClientException ce) { 117 ce.printStackTrace(); 118 } catch (Exception e) { 119 e.printStackTrace(); 120 } finally { 121 ossClient.shutdown(); 122 } 123 124 logger.info("Completed"); 125 } 126 127 /** 128 *生成隨機數字和字母 129 * @param length 長度 130 * @return 隨機字符串 131 */ 132 public static String getStringRandom(int length) { 133 String val = ""; 134 Random random = new Random(); 135 //參數length,表示生成幾位隨機數 136 for(int i = 0; i < length; i++) { 137 String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; 138 //輸出字母還是數字 139 if( "char".equalsIgnoreCase(charOrNum) ) { 140 //輸出是大寫字母還是小寫字母 141 int temp = random.nextInt(2) % 2 == 0 ? 65 : 97; 142 val += (char)(random.nextInt(26) + temp); 143 } else if( "num".equalsIgnoreCase(charOrNum) ) { 144 val += String.valueOf(random.nextInt(10)); 145 } 146 } 147 return val; 148 } 149 150 /** 151 * 通過文件名判斷並獲取OSS服務文件上傳時文件的contentType 152 * @param fileName 文件名 153 * @return 文件的contentType 154 */ 155 public static String getContentType(String fileName){ 156 //文件的后綴名 157 String fileExtension = fileName.substring(fileName.lastIndexOf(".")); 158 if(".bmp".equalsIgnoreCase(fileExtension)) { 159 return ".bmp"; 160 } 161 if(".gif".equalsIgnoreCase(fileExtension)) { 162 return ".gif"; 163 } 164 if(".jpeg".equalsIgnoreCase(fileExtension)) { 165 return ".jpeg"; 166 } 167 if(".jpg".equalsIgnoreCase(fileExtension)) { 168 return ".jpg"; 169 } 170 if(".png".equalsIgnoreCase(fileExtension) ) { 171 return ".png"; 172 } 173 //默認返回類型 174 return ".jpeg"; 175 } 176 177 }
再添加一點小東西
package com.aliyun.oss.demo; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.*; import java.net.URL; import java.util.List; import java.util.Date; import java.util.Random; import com.aliyun.oss.ClientException; import com.aliyun.oss.OSSClient; import com.aliyun.oss.OSSException; import com.aliyun.oss.model.*; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import javax.swing.*; public class HelloOSS extends JFrame implements ActionListener { static Logger logger = Logger.getLogger(HelloOSS.class); // endpoint是訪問OSS的域名。如果您已經在OSS的控制台上 創建了Bucket,請在控制台上查看域名。 // 如果您還沒有創建Bucket,endpoint選擇請參看文檔中心的“開發人員指南 > 基本概念 > 訪問域名”, // 鏈接地址是:https://help.aliyun.com/document_detail/oss/user_guide/oss_concept/endpoint.html?spm=5176.docoss/user_guide/endpoint_region // endpoint的格式形如“http://oss-cn-hangzhou.aliyuncs.com/”,注意http://后不帶bucket名稱, // 比如“http://bucket-name.oss-cn-hangzhou.aliyuncs.com”,是錯誤的endpoint,請去掉其中的“bucket-name”。 private static String endpoint = ""; // accessKeyId和accessKeySecret是OSS的訪問密鑰,您可以在控制台上創建和查看, // 創建和查看訪問密鑰的鏈接地址是:https://ak-console.aliyun.com/#/。 // 注意:accessKeyId和accessKeySecret前后都沒有空格,從控制台復制時請檢查並去除多余的空格。 private static String accessKeyId = ""; private static String accessKeySecret = ""; // Bucket用來管理所存儲Object的存儲空間,詳細描述請參看“開發人員指南 > 基本概念 > OSS基本概念介紹”。 // Bucket命名規范如下:只能包括小寫字母,數字和短橫線(-),必須以小寫字母或者數字開頭,長度必須在3-63字節之間。 private static String bucketName = ""; JButton jb = new JButton("選擇文件"); public static void main(String[] args) { // TODO 自動生成的方法存根 new HelloOSS(); } public HelloOSS() { jb.setActionCommand("open"); //設置按鈕顏色 jb.setBackground(Color.LIGHT_GRAY); //建立容器使用邊界布局 this.getContentPane().add(jb, BorderLayout.SOUTH); jb.addActionListener(this); this.setTitle("標題"); this.setSize(333, 288); this.setLocation(200, 200); //顯示窗口true this.setVisible(true); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); } @Override public void actionPerformed(ActionEvent e) { if (e.getActionCommand().equals("open")) { JFileChooser jf = new JFileChooser(); //顯示打開的文件對話框 jf.showOpenDialog(this); //使用文件類獲取選擇器選擇的文件 File f = jf.getSelectedFile(); //返回路徑名 String s = f.getAbsolutePath(); //JOptionPane彈出對話框類,顯示絕對路徑名 //JOptionPane.showMessageDialog(this, s, "標題",JOptionPane.WARNING_MESSAGE); uploadPicture(s); } } public void uploadPicture(String path) { // 日志配置,OSS Java SDK使用log4j記錄錯誤信息。示例程序會在工程目錄下生成“oss-demo.log”日志文件,默認日志級別是INFO。 // 日志的配置文件是“conf/log4j.properties”,如果您不需要日志,可以沒有日志配置文件和下面的日志配置。 PropertyConfigurator.configure("conf/log4j.properties"); logger.info("Started"); // 生成OSSClient,您可以指定一些參數,詳見“SDK手冊 > Java-SDK > 初始化”, // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/init.html?spm=5176.docoss/sdk/java-sdk/get-start OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret); try { /* 校驗存儲空間 */ // 判斷Bucket是否存在。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init if (ossClient.doesBucketExist(bucketName)) { System.out.println("您已經創建Bucket:" + bucketName + "。"); } else { System.out.println("您的Bucket不存在,創建Bucket:" + bucketName + "。"); // 創建Bucket。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init ossClient.createBucket(bucketName); } // 查看Bucket信息。詳細請參看“SDK手冊 > Java-SDK > 管理Bucket”。 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_bucket.html?spm=5176.docoss/sdk/java-sdk/init BucketInfo info = ossClient.getBucketInfo(bucketName); System.out.println("Bucket " + bucketName + "的信息如下:"); System.out.println("\t數據中心:" + info.getBucket().getLocation()); System.out.println("\t創建時間:" + info.getBucket().getCreationDate()); System.out.println("\t用戶標志:" + info.getBucket().getOwner()); /*上傳本地圖片*/ //圖片全路徑 String filePath = path; //上傳文件全名稱 String newFileKey = getStringRandom(32) + getContentType(filePath); InputStream inputStream = new FileInputStream(filePath); //上傳流文件 ossClient.putObject(bucketName, "xxxx/" + newFileKey, inputStream); // 設置URL過期時間為1小時。 Date expiration = new Date(System.currentTimeMillis() + 3600 * 1000); // 生成以GET方法訪問的簽名URL,訪客可以直接通過瀏覽器訪問相關內容。 URL url = ossClient.generatePresignedUrl(bucketName, "xxxx/" + newFileKey, expiration); System.out.println(url); /*遍歷存儲空間*/ // 查看Bucket中的Object。詳細請參看“SDK手冊 > Java-SDK > 管理文件”。 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket // 指定前綴。 final String keyPrefix = "xxxx"; // 列舉包含指定前綴的文件。默認列舉100個文件。 ObjectListing objectListing = ossClient.listObjects(new ListObjectsRequest(bucketName).withPrefix(keyPrefix)); List<OSSObjectSummary> sums = objectListing.getObjectSummaries(); System.out.println("您有以下Object:"); for (OSSObjectSummary s : sums) { System.out.println("\t" + s.getKey()); } /*下載文件到本地*/ //下載OSS文件到本地文件。如果指定的本地文件存在會覆蓋,不存在則新建。 // ossClient.getObject(new GetObjectRequest(bucketName, "xxxx/"+newFileKey), new File("G://oss//"+newFileKey)); /*刪除空間文件*/ // 刪除Object。詳細請參看“SDK手冊 > Java-SDK > 管理文件”。 // 鏈接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/manage_object.html?spm=5176.docoss/sdk/java-sdk/manage_bucket //ossClient.deleteObject(bucketName, newFileKey); //System.out.println("刪除Object:" + newFileKey + "成功。"); } catch (OSSException oe) { oe.printStackTrace(); } catch (ClientException ce) { ce.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } finally { ossClient.shutdown(); } logger.info("Completed"); } /** * 生成隨機數字和字母, * * @param * @return * @author Guoyh * @date 2018/10/10 12:25 */ public static String getStringRandom(int length) { String val = ""; Random random = new Random(); //參數length,表示生成幾位隨機數 for (int i = 0; i < length; i++) { String charOrNum = random.nextInt(2) % 2 == 0 ? "char" : "num"; //輸出字母還是數字 if ("char".equalsIgnoreCase(charOrNum)) { //輸出是大寫字母還是小寫字母 int temp = random.nextInt(2) % 2 == 0 ? 65 : 97; val += (char) (random.nextInt(26) + temp); } else if ("num".equalsIgnoreCase(charOrNum)) { val += String.valueOf(random.nextInt(10)); } } return val; } /** * 通過文件名判斷並獲取OSS服務文件上傳時文件的contentType * * @param fileName 文件名 * @return 文件的contentType */ public static String getContentType(String fileName) { //文件的后綴名 String fileExtension = fileName.substring(fileName.lastIndexOf(".")); if (".bmp".equalsIgnoreCase(fileExtension)) { return ".bmp"; } if (".gif".equalsIgnoreCase(fileExtension)) { return ".gif"; } if (".jpeg".equalsIgnoreCase(fileExtension)) { return ".jpeg"; } if (".jpg".equalsIgnoreCase(fileExtension)) { return ".jpg"; } if (".png".equalsIgnoreCase(fileExtension)) { return ".png"; } //默認返回類型 return ".jpeg"; } }
