zoukankan      html  css  js  c++  java
  • 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("	数据中心:" + info.getBucket().getLocation());
     88             System.out.println("	创建时间:" + info.getBucket().getCreationDate());
     89             System.out.println("	用户标志:" + 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("	" + 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("	数据中心:" + info.getBucket().getLocation());
     70             System.out.println("	创建时间:" + info.getBucket().getCreationDate());
     71             System.out.println("	用户标志:" + 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("	" + 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("	数据中心:" + info.getBucket().getLocation());
                System.out.println("	创建时间:" + info.getBucket().getCreationDate());
                System.out.println("	用户标志:" + 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("	" + 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";
        }
    
    }
  • 相关阅读:
    js判断手机或Pc端登陆.并跳转到相应的页面
    短信接口的使用
    sql替换
    jQuery 双击事件(dblclick)
    attr 和 prop 的区别
    如何获得select被选中option的value和text
    微信公众号基本配置
    关闭当前界面
    oninput、onchange与onpropertychange事件的区别, 与input输入框实时检测
    thinkphp5 与 endroid 二维码生成
  • 原文地址:https://www.cnblogs.com/angelye/p/9766504.html
Copyright © 2011-2022 走看看