栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

spring文件上传到OSS文件服务器

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

spring文件上传到OSS文件服务器

目录

1.普通的文件上传到OSS文件服务器

1.1 阿里云界面操作

1.2 引入阿里云的OSS依赖

1.3 OOS代码的书写

2.elementui 异步上传OSS服务器

2.1 实现界面

2.2 前端

2.2 封装一个工具类

 2.3 创建一个实体类

2.4 创建一个controller


1.普通的文件上传到OSS文件服务器

1.1 阿里云界面操作

 

1.2 引入阿里云的OSS依赖


     com.aliyun.oss
     aliyun-sdk-oss
     3.10.2
   

1.3 OOS代码的书写
public class UploadFile {
    public static String upload(MultipartFile multipartFile){
        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "oss-cn-hangzhou.aliyuncs.com";
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

        String accessKeyId = "#填写自己的账户";

        String accessKeySecret = "#填写自己的密钥";

        // 填写Bucket名称,例如examplebucket。
        String bucketName = "#自己的项目名称";
        // 你上传到oss后的名字 会根据日期帮你创建文件夹
        String objectName =fileName(multipartFile);
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        try {
            InputStream inputStream =multipartFile.getInputStream();
            // 创建PutObject请求。
            ossClient.putObject(bucketName, objectName, inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        String url="https://"+bucketName+"."+endpoint+"/"+objectName;
        return url;
    }
    private  static String fileName(MultipartFile myFile){
        Calendar calendar=Calendar.getInstance();
       String name= calendar.get(Calendar.YEAR)+"/"+(calendar.get((Calendar.MONTH))+1)+"/"+
                calendar.get(Calendar.DATE)+"/"+ UUID.randomUUID().toString().replace("-","")
                +myFile.getOriginalFilename();
       return name;
    }
}

2.elementui 异步上传OSS服务器

2.1 实现界面

 

2.2 前端
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    阿里云界面
    
    
    
    
    
    



    
        
            
        
        
            
        
        
            
        
        
            
                
                
            
        
        
            提交
        
    




2.2 封装一个工具类

public class UploadFile {
    public static String upload(MultipartFile multipartFile){
        // Endpoint以华东1(杭州)为例,其它Region请按实际情况填写。
        String endpoint = "oss-cn-hangzhou.aliyuncs.com";
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。

        String accessKeyId = "#填写自己的ID";

        String accessKeySecret = "填写自己的密钥";

        // 填写Bucket名称,例如examplebucket。
        String bucketName = "#填写自己的工程名";

        // 你上传到oss后的名字 会根据日期帮你创建文件夹
        String objectName =fileName(multipartFile);
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        try {
            InputStream inputStream =multipartFile.getInputStream();
            // 创建PutObject请求。
            ossClient.putObject(bucketName, objectName, inputStream);
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (ossClient != null) {
                ossClient.shutdown();
            }
        }
        String url="https://"+bucketName+"."+endpoint+"/"+objectName;
        return url;
    }
    private  static String fileName(MultipartFile myFile){
        Calendar calendar=Calendar.getInstance();
       String name= calendar.get(Calendar.YEAR)+"/"+(calendar.get((Calendar.MONTH))+1)+"/"+
                calendar.get(Calendar.DATE)+"/"+ UUID.randomUUID().toString().replace("-","")
                +myFile.getOriginalFilename();
       return name;
    }
}

 2.3 创建一个实体类

entity下

@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserALi {
    private String name;
    private String password;
    private String phone;
    private String imageUrl;
}

2.4 创建一个controller
@Controller
public class AliYun02 {

    @RequestMapping("/aliLoad")
    @ResponseBody
    public CommonResult testAli(MultipartFile file){
       return CommonResult.success(UploadFile.upload(file));
    }


    @RequestMapping("/aliLoad01")
    @ResponseBody
    public CommonResult testAli(@RequestBody UserALi userALi){
            return CommonResult.success(userALi);
    }

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/963779.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号