zoukankan      html  css  js  c++  java
  • oss上传

    首先阿里云申请,这个自行上阿里云按照指示申请,这里只写java代码引用

    配置文件yml

    oss:
    endPoint: 
    accessKeyId: 
    accessKeySecret: 
    bucketName: 

    这四个自行配置

    上传类

    public class OSSClientWrapper {

    static Logger log = Logger.getLogger(OSSClientWrapper.class);

    @Value("${oss.endPoint}")
    private String endPoint; // endpoint是访问OSS的域名。如果您已经在OSS的控制台上 创建了Bucket,请在控制台上查看域名。

    @Value("${oss.accessKeyId}")
    private String accessKeyId; // accessKeyId和accessKeySecret是OSS的访问密钥,您可以在控制台上创建和查看,

    @Value("${oss.accessKeySecret}")
    private String accessKeySecret;

    @Value("${oss.bucketName}")
    private String bucketName; // Bucket用来管理所存储Object的存储空间,详细描述请参看“开发人员指南 > 基本概念 > OSS基本概念介绍”。

    public String oss(MultipartFile file) {

    // 日志配置,OSS Java SDK使用log4j记录错误信息。示例程序会在工程目录下生成“oss-demo.log”日志文件,默认日志级别是INFO。
    // 日志的配置文件是“conf/log4j.properties”,如果您不需要日志,可以没有日志配置文件和下面的日志配置。
    PropertyConfigurator.configure("log4j.properties");

    log.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);
    String url = null ;
    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());

    // 链接地址是:https://help.aliyun.com/document_detail/oss/sdk/java-sdk/upload_object.html?spm=5176.docoss/user_guide/upload_object
    InputStream is = new ByteArrayInputStream(file.getBytes());
    ossClient.putObject(bucketName, file.getOriginalFilename(), is);
    url = "http://"+bucketName+"."+endPoint+"/"+file.getOriginalFilename();
    // URL url = ossClient.generatePresignedUrl(bucketName, file.getOriginalFilename(),new Date());
    log.info(url.toString());;

    System.out.println("Object:" + file.getOriginalFilename() + "存入OSS成功。");

    } catch (OSSException oe) {
    oe.printStackTrace();
    } catch (ClientException ce) {
    ce.printStackTrace();
    } catch (Exception e) {
    e.printStackTrace();
    } finally {
    ossClient.shutdown();
    }
    log.info("Completed");
    return url;
    }
    public void deleteOss(String filePath) {
    OSSClient ossClient = new OSSClient(endPoint, accessKeyId, accessKeySecret);
    ossClient.deleteObject(bucketName, filePath);
    }
    }

  • 相关阅读:
    Macbook上如何把中文文本转成UTF-8
    防火墙学习笔记
    百万长连接并发的限制因素
    meminfo中的字段都是什么意思?
    维护TCP长连接时系统配置的参数net.ipv4.tcp_keepalive_time不生效
    小程序如何利用CSS画出箭头
    cephfs配额问题
    ceph机房断电之后重启遇到问题“Transaction order is cyclic. See system logs for details.”
    valgrind的使用方法
    程序员的创业经历
  • 原文地址:https://www.cnblogs.com/whb11/p/9989895.html
Copyright © 2011-2022 走看看