zoukankan      html  css  js  c++  java
  • 阿里云OSS存储

    1.accessKeyId 与 accessKeySecret 是由系统分配给用户的,称为ID对,用于标识用户,为访问OSS做签名验证。

    2.Bucket是OSS上的命名空间,相当于数据的容器,可以存储若干数据实体(Object)

    你可以按照下面的代码新建一个Bucket:

    复制代码
            /// <summary>
            /// 新建存储对象容器Bucket
            /// </summary>
            /// <param name="bucketName">容器名称</param>
            void CreateBucket(string bucketName)
            {
                //初始化 OSSClient
                OssClient ossClient = new OssClient(endPoint, accessKeyId, accessKeySecret);
    
                // 新建一个Bucket
                var bucket = ossClient.CreateBucket(bucketName);
    
                Console.WriteLine(bucket.CreationDate);
            }
    复制代码

    由于Bucket的名字是全局唯一的,所以尽量保证你的 bucketName 不与别人重复。

    其实也可以在阿里云的OSS管理控制台创建。

    public class OssUtils {

    private static String endpoint = "";
    private static String accessKeyId = "";
    private static String accessKeySecret = "";
    private static String bucketName = "";

    /**
    * oss 下载文件
    *
    * @param ossKey
    * @return
    */
    public static File downLoadFile(String ossKey) throws Exception {
    OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    try {
    // 判断Bucket是否存在。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
    if (ossClient.doesBucketExist(bucketName)) {
    // 先将文件写入临时文件再下载
    String filename = "temp" + ossKey.substring(ossKey.lastIndexOf("."), ossKey.length());
    File f = new File(filename);
    ossClient.getObject(new GetObjectRequest(bucketName, ossKey), f);
    return f;
    }
    return null;
    } catch (Exception e) {
    throw e;
    } finally {
    ossClient.shutdown();
    }
    }

    /**
    * 上传文件到OSS
    *
    * @param ossKey
    * @param f
    * @throws Exception
    */
    public static void uploadFIle(String ossKey, File f) throws Exception {
    OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
    try {
    // 判断Bucket是否存在。详细请参看“SDK手册 > Java-SDK > 管理Bucket”。
    if (ossClient.doesBucketExist(bucketName)) {
    ObjectMetadata meta = new ObjectMetadata();
    // 设置自定义元信息name的值为my-data
    meta.addUserMetadata("Content-Type", "application/octet-stream");
    meta.addUserMetadata("Content-Disposition", "attachment;filename=" + ossKey);
    InputStream inputStream = new FileInputStream(f);
    // 上传
    ossClient.putObject(bucketName, ossKey, inputStream);
    inputStream.close();

    // 转换pdf文件
    // ChangeFile(f, ossKey);
    }
    } catch (Exception e) {
    throw e;
    } finally {
    ossClient.shutdown();
    }
    }

    }
  • 相关阅读:
    广度优先搜索
    洛谷 P1126 机器人搬重物
    codevs 1058 合唱队形
    洛谷P1216 [USACO1.5]数字三角形 Number Triangles
    Codevs 1576 最长严格上升子序列
    跳马(Knight Moves), ZOJ1091, POJ2243
    洛谷 P1644 跳马问题
    NOI 2971 抓住那头牛
    NOI 2727 仙岛求药
    搜索与回溯算法
  • 原文地址:https://www.cnblogs.com/dzcWeb/p/7068738.html
Copyright © 2011-2022 走看看