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

elementui 异步上传OSS服务器保存用户信息

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

elementui 异步上传OSS服务器保存用户信息

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录
  • 1)引入阿里云的OSS依赖
  • 2)后端工具
  • 3)实体类
  • 4)前端的布局
  • 5)后台代码 

1)引入阿里云的OSS依赖

    com.aliyun.oss
    aliyun-sdk-oss
    3.10.2

 


2)后端工具
package com.zsb.utils;

import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import org.springframework.web.multipart.MultipartFile;

import java.io.InputStream;
import java.util.Calendar;
import java.util.UUID;

public class OSSUtils {
    public static String upload(MultipartFile myfile){
        String endpoint = "oss-cn-hangzhou.aliyuncs.com";
        // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。
        String accessKeyId = "**********************";
        String accessKeySecret = "*********************";
        // 填写Bucket名称,例如examplebucket。
        String bucketName = "zsbzzz";
        // 填写Object完整路径,完整路径中不能包含Bucket名称,例如exampledir/exampleobject.txt。
        String objectName = fileName(myfile);
        // 填写本地文件的完整路径,例如D:\localpath\examplefile.txt。
        // 如果未指定本地路径,则默认从示例程序所属项目对应本地路径中上传文件流。
        // 创建OSSClient实例。
        OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
        try {
            InputStream inputStream = myfile.getInputStream();
            ossClient.putObject(bucketName, objectName, inputStream);
        } catch (Exception e) {

        } 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.MARCH)+1)+
                "/"+calendar.get(Calendar.DATE)+
                "/"+ UUID.randomUUID().toString().replace("-","")+
                myfile.getOriginalFilename();
        return name;
    }
}
3)实体类
package com.zsb.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {
    private String name;
    private String pwd;
    private String address;
    private String avatarUrl;
}
package com.zsb.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonResult {
    private Integer code;
    private String msg;
    private Object data;
}
4)前端的布局
<%@ page contentType="text/html;charset=UTF-8" language="java" %>


    Title
    
    
    
    
    


    
        
            
                
                
            
            
                
            
            
                
            
            
                
            
            
                提交
            
        
    




5)后台代码 
package com.zsb.controller;

import com.zsb.entity.CommonResult;
import com.zsb.entity.User;
import com.zsb.utils.OSSUtils;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.multipart.MultipartFile;

@Controller
public class UserController {
    @RequestMapping("/uploadAvatar")
    @ResponseBody
    public CommonResult addUser(MultipartFile file){
        try {
            String avatar = OSSUtils.upload(file);
            return new CommonResult(2000,"上传成功",avatar);
        }catch (Exception e){
            e.printStackTrace();
        }
        return new CommonResult(5000,"上传失败",null);
    }
    @RequestMapping("/addUser")
    @ResponseBody
    public CommonResult addUser(@RequestBody User user){
        System.out.println(user);
        return new CommonResult(2000,"成功",null);
    }

}

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

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

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