springBoot 文件上传与下载整合

Spring Boot 文件上传及下载方案

1.controller文件上传部分

注意:其中AjaxResult为返回封装类,这个类可有可无,开发环境下为了统一返回格式用

 	@PostMapping("/upload")
    public AjaxResult uploadFile(MultipartFile file) throws Exception {
        try {
            // 上传文件路径(这里最好配置在yml中,以方便后续修改 若为linux 可以直接写:"/home/upload/" ,具体地址,大家自己定就可以)
            String filePath = "D:/base/uploadPath"
           //获取上传的文件名称
         	String fileName = file.getOriginalFilename();
         	//构造路径,返回file对象
            File desc = new File(filePath + File.separator + fileName);
             if (!desc.getParentFile().exists()) {
            	desc.getParentFile().mkdirs();
       		 }
            //进行上传
            file.transferTo(desc);
            AjaxResult ajax = AjaxResult.success();
            //这里是将file的名称和路径返回到请求调用处
            ajax.put("fileName", fileName)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
的实现步骤是什么? 为了实现Spring Boot整合OSS上下载,我们可以使用Aliyun OSS SDK。实现步骤如下: 1. 首先,在pom.xml中添加OSS SDK的依赖: ``` <dependency> <groupId>com.aliyun.oss</groupId> <artifactId>aliyun-sdk-oss</artifactId> <version>2.9.0</version> </dependency> ``` 2. 然后在application.yml配置文件中添加OSS的配置: ``` spring: oss: endpoint: oss-cn-hangzhou.aliyuncs.com access-key: xxxx secret-key: xxxx bucket-name: xxxx ``` 3. 创建一个OSS配置类: ``` @Configuration @ConfigurationProperties(prefix = "spring.oss") public class OSSConfig { private String endpoint; private String accessKey; private String secretKey; private String bucketName; // getter and setter methods } ``` 4. 创建一个OSS客户端: ``` @Bean public OSSClient ossClient(OSSConfig ossConfig) { return new OSSClient(ossConfig.getEndpoint(), ossConfig.getAccessKey(), ossConfig.getSecretKey()); } ``` 5. 创建一个UploadService: ``` @Service public class UploadService { @Autowired private OSSClient ossClient; public String uploadFile(MultipartFile file) throws IOException { String originalFilename = file.getOriginalFilename(); String suffix = originalFilename.substring(originalFilename.lastIndexOf(".")); String fileName = UUID.randomUUID().toString() + suffix; ossClient.putObject("bucket-name", fileName, new ByteArrayInputStream(file.getBytes())); return fileName; } } ``` 6. 创建一个DownloadService: ``` @Service public class DownloadService { @Autowired private OSSClient ossClient; public byte[] downloadFile(String fileName) throws IOException { OSSObject object = ossClient.getObject("bucket-name", fileName); InputStream inputStream = object.getObjectContent(); return IOUtils.toByteArray(inputStream); } } ``` 这样,就完成了Spring Boot整合OSS上下载的实现。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

灵湖映北辰

年轻人,要讲武德!!!

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

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

打赏作者

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

抵扣说明:

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

余额充值