springboot整合amazonS3,封装上传文件接口

之前整理过spring整合amazonS3的博客,也整理过遇到的问题和文档。今天整理下springboot项目下如何使用amazonS3,并且如果是封装接口的话,是怎样的?

1.项目结构

在这里插入图片描述

2.在pom.xml中引入amazonS3的依赖。这一个就行

        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-java-sdk-s3</artifactId>
            <version>1.11.490</version>
        </dependency>

3.controller接口层

package com.zhanglf.controller;

import com.zhanglf.common.result.CodeMsg;
import com.zhanglf.common.result.Result;
import com.zhanglf.common.util.ParamUtil;
import com.zhanglf.common.util.RequestUtil;
import com.zhanglf.exception.BizException;
import com.zhanglf.model.OssFileModel;
import com.zhanglf.service.OssService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * @author zhanglf
 * @Description 对象存储controller
 */
@RestController
@RequestMapping("/amazonS3")
@Slf4j
public class AmazonController {
    /** 云存储中的测试数据目录,不允许删除 */
    final String DEMO = "/demo";

    @Autowired
    AmasonService amazonService;
    /**
     * @Description 文件上传云存储
     * @Param [file, params]
     * @return com.zhanglf.common.result.Result<com.zhanglf.model.AmazonFileModel>
     */
    @PostMapping(value = "/upload")
    public Result<AmazonFileModel> upload(@RequestParam("file") MultipartFile file,  @RequestParam("params") String params,    HttpServletRequest request){
        AmazonFileModel amazonFileModel= null;
        try{
            Map<String,String> map = ParamUtil.parseAndRequire(params,"uid");
            String uid = map.get("uid");
            amazonFileModel= amazonService.upload(file,uid);
            log.info("IP:[{}],用户:[{}]上传了文件:[{}]", RequestUti
  • 2
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
Spring Boot是一个开源的Java框架,可以帮助开发者快速构建基于Java的应用程序。而Amazon S3(Simple Storage Service)是亚马逊云计算服务中提供的一种对象存储服务,可以帮助用户存储和检索任意数量的数据对象。 结合Spring Boot和Amazon S3,我们可以在Java应用程序中方便地使用Amazon S3进行对象存储的操作。首先,我们需要使用Spring Boot的依赖管理工具来引入Amazon S3的Java SDK。 一旦我们引入了Amazon S3 SDK的依赖,我们就可以在代码中使用Amazon S3的API来与存储桶(Bucket)进行交互。存储桶是Amazon S3用于存储对象的基本单位。我们可以通过代码创建新的存储桶,或者将对象上传到已存在的存储桶中。 使用Spring Boot和Amazon S3的关键是配置正确的连接信息。我们需要提供访问Amazon S3的凭证,包括访问密钥(Access Key)和密钥ID(Secret Key)。这些凭证可以通过Amazon Web Services(AWS)的控制台获取。 一旦配置了正确的连接信息,我们就可以在Spring Boot应用程序中使用Amazon S3的Java SDK来执行各种操作,如上传文件、下载文件、删除文件等。通过这些API,我们可以轻松地在Spring Boot应用程序中集成Amazon S3的功能,实现对对象存储的管理和操作。 总之,Spring Boot和Amazon S3的结合使得在Java应用程序中使用Amazon S3变得非常简单和高效。我们可以借助Spring Boot的强大功能和Amazon S3的可靠性和扩展性,快速构建出功能丰富的应用程序,并轻松地存储和管理大量的数据对象。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

万米高空

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值