springboot实现oos上传下载-创新互联

简介

OSS对象存储
  阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。OSS可用于图片、音视频、日志等海量文件的存储。各种终端设备、Web网站程序、移动应用可以直接向OSS写入或读取数据。

创新互联长期为成百上千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为青浦企业提供专业的网站设计、网站制作青浦网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。阿里云后台操作步骤

1.开通OSS服务

2.进入控制台

3.创建 Bucket

4.新建文件夹(存放文件)

5.创建完成后,在右上角头像栏找到AccessKey管理

6.点击 创建AccessKey,身份验证后,即可获取到KeyId和KeySercret

实现 1.引入oos依赖
com.aliyun.ossaliyun-sdk-oss2.8.3
2.yml文件以及oss配置信息

application.yml

server:
  port: 8081

mybatis:
  type-aliases-package: com.wjj.springbootoos.pojo
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  mapper-locations: classpath:/mapper/*.xml



spring: #springboot的配置
  datasource: #定义数据源
    #127.0.0.1为本机测试的ip,3306是mysql的端口号。serverTimezone是定义时区,照抄就好,mysql高版本需要定义这些东西
    #useSSL也是某些高版本mysql需要问有没有用SSL连接
    url: jdbc:mysql://localhost:3306/oos?serverTimezone=UTC
    username: root  #数据库用户名,root为管理员
    password: root #该数据库用户的密码mysql.session

application-aliyun-oos.properties

aliyun.endPoint=oss-cn-hangzhou.aliyuncs.com

aliyun.urlPrefix=junkai1.oss-cn-hangzhou.aliyuncs.com

aliyun.accessKeyId=LTAI5tPP4FLVrM92oSZxtWV6

aliyun.accessKeuSecrect=cxLRwCyr0z2QYKYvaDDPMLMDEYMLLP

aliyun.bucketName=junkai1

aliyun.fileHost=ketai

spring.servlet.multipart.max-file-size=100MB
spring.servlet.multipart.max-request-size=200MB

这里需要填入直接的,可通过上面的AccessKey管理进入找到相对应的填入即可

config

AliyunOssConfig

封装对应属性 

service接口

实现类 上传
@Autowired
    private OSS client;
    @Autowired
    private fileMapper mapper;
    @Autowired
    private AliyunOssConfig aliyunOssConfig;
    //共有属性代码 允许上传图片的格式
    private static final String[] IMAGE_TYPE =new String[]{
            ".bmp",".jpg",".jpeg",".gif",".png"
    };
    @Override
    public String upload(MultipartFile multipartFile) {
        //获取基本信息
        String endpoint=aliyunOssConfig.getEndPoint();
        String bucketName=aliyunOssConfig.getBucketName();
        String accesKeyId=aliyunOssConfig.getAccessKeyId();
        String accessKeuSecret=aliyunOssConfig.getAccessKeuSecrect();
        String fileHost=aliyunOssConfig.getFileHost();

        //校验格式
        boolean isLegal=false;
        for (String type:IMAGE_TYPE){
            if (StringUtils.endsWithIgnoreCase(multipartFile.getOriginalFilename(),type)){
                isLegal=true;
                break;
            }
        }
        if (isLegal==false){
            return StatusCode.ERROR.getMsg();
        }
        //1.获取文件名称
        String orName=multipartFile.getOriginalFilename();
        //2.获取文件的类型
        String fileType=orName.substring(orName.lastIndexOf("."));
        //3.新名称
        String newFileName= UUID.randomUUID().toString()+fileType;
        System.out.println(newFileName);
        //4.构建文件上传路径
        String filePath=new SimpleDateFormat("yyyy/MM/dd").format(new Date());
        //5.文件上传的路径
        String uploadUrl=fileHost+"/"+filePath+"/"+newFileName;
        System.out.println(uploadUrl);
        System.out.println(filePath);
        //6.开始上传
        InputStream inputStream=null;
        try {
            inputStream=multipartFile.getInputStream();
        } catch (IOException e) {
            e.printStackTrace();
        }

        ObjectMetadata meta=new ObjectMetadata();
        meta.setContentType("image/jpg");

        //上传阿里云
        client.putObject(bucketName,uploadUrl,inputStream,meta);

        mapper.add(newFileName,uploadUrl);
        return "http://"+bucketName+"."+endpoint+"/"+uploadUrl;
    }
删除

controller层

下载 
下载

下载只需将图片路径封装打a标签即可

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


网站栏目:springboot实现oos上传下载-创新互联
URL地址:http://scjbc.cn/article/cecpig.html

其他资讯