OSS上传图片demo
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"; } }
请留下你的足迹...