zoukankan      html  css  js  c++  java
  • 文件上传之oss服务器上传文件简笔

    阿里云的oss服务器存储文件:

    1.在yml配置文件中配置:阿里云oss存储配置信息

    1 oss:
    2   endpoint: oss-cn-xxxxxxxx.aliyuncs.com
    3   accessKey: LTA....
    4   accessKeySecret: LD.....
    5   bucketName: xxxxxx6   staticDomain: ??

    2.在配置类中读取yml里面的配置信息i

    @Configuration
    public class OssBootConfiguration {
    
        @Value("${oss.endpoint}")
        private String endpoint;
        @Value("${oss.accessKey}")
        private String accessKeyId;
        @Value("${oss.accessKeySecret}")
        private String accessKeySecret;
        @Value("${oss.bucketName}")
        private String bucketName;
        @Value("${oss.staticDomain}")
        private String staticDomain;
    
    
        @Bean
        public void initOssBootConfiguration() {
            OssBootUtil.setEndPoint(endpoint);
            OssBootUtil.setAccessKeyId(accessKeyId);
            OssBootUtil.setAccessKeySecret(accessKeySecret);
            OssBootUtil.setBucketName(bucketName);
            OssBootUtil.setStaticDomain(staticDomain);
        }
    }

    3.初始化oss

      private static OSSClient initOSS(String endpoint, String accessKeyId, String accessKeySecret) {
            if (ossClient == null) {
                ossClient = new OSSClient(endpoint,
                        new DefaultCredentialProvider(accessKeyId, accessKeySecret),
                        new ClientConfiguration());
            }
            return ossClient;
        }

    4.上传:

           //初始化oss客户端
    initOSS(endPoint, accessKeyId, accessKeySecret); StringBuilder fileUrl = new StringBuilder(); try { //对象锁 // synchronized (file) { //后缀前的数据 String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf('.')); //拼接文件绝对路径 String fileUrl = fileUrl.append(fileDir + fileName); PutObjectResult result = ossClient.putObject(bucketName, fileUrl, file.getInputStream()); // 设置权限(公开读) ossClient.setBucketAcl(bucketName, CannedAccessControlList.PublicRead); if (result != null) { System.out.println("------OSS文件上传成功------" + fileUrl); } // } } catch (IOException e) { e.printStackTrace(); return null; }

    5.注意点:

    考虑到是一个公共上传,若是并发调用考虑加对象锁,总体来说,要有oss服务器,先初始化oss客户端 然后生成文件路径进行上传

    6.删除文件服务器上的指定目录下文件:

                //初始化容器
                initOSS(endPoint, accessKeyId, accessKeySecret);
                //删除路径
                String url = url;
                log.info("删除文件服务器上的文件路径为:{}",url);
                //删除文件服务器上的文件
                ossClient.deleteObject(bucketName, url);

    7.检查是否上传成功 可以下载oss可视化工具 登录上去可以查看  上传 删除  复制文件路径等。为所欲为的人为操作

    8.补充:

    官网文档:https://help.aliyun.com/document_detail/84781.html?spm=a2c4g.11186623.6.707.5a0c1bd4CT02Ig

    pom文件引用:

    <dependency>
        <groupId>com.aliyun.oss</groupId>
        <artifactId>aliyun-sdk-oss</artifactId>
        <version>2.8.3</version>
    </dependency>

    或者

    <!-- aliyun oss -->
    <dependency>
    <groupId>com.aliyun.oss</groupId>
    <artifactId>aliyun-sdk-oss</artifactId>
    <version>${aliyun.oss.version}</version>---配置在其他的地方 可以点进去查看版本 现在才知道。。。
    </dependency>
     

     

    
    


    
    
  • 相关阅读:
    程序猿节日快乐!
    Haxe UI框架StablexUI的使用备忘与心得(一)
    sudo fdisk -l
    Win7下硬盘安装fedora17
    盎司
    arm-linux工具
    GSM900TCP/UDP连接
    STC51几种简单的延时函数
    STC51六中中断配置点亮一个LED
    LCD1602小程序
  • 原文地址:https://www.cnblogs.com/wlm-boke/p/12880032.html
Copyright © 2011-2022 走看看