demo整理來源https://help.aliyun.com/document_detail/32011.htmlhtml
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 }
添加一點新東西 隨機字符串java
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 }
再添加一點小東西 apache
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"; } }