Base64格式上传文件至阿里云(java)

时间:2023-03-09 02:47:03
Base64格式上传文件至阿里云(java)
Controller
 @PostMapping("/save")
    public R save(@RequestBody ShareEntity share){
        OSSClient oss = new OSSClient(GlobalConfig.domain, GlobalConfig.AccessKeyID,GlobalConfig.AccessKeySecret);
        InputStream inputStream1;
            String[] shartimg = new String[2];
        if(!share.getShareImg().isEmpty()){ //base64所在字段
             shartimg = share.getShareImg().split(",");
             int index = shartimg[0].indexOf("/");
             int endindex = shartimg[0].indexOf(";");
            SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMddHHmmss");
            String date = sdf.format(new Date());
            String endName  = shartimg[0].substring(index+1,endindex);//获取文件后缀
            String newFileName = date +"."+ endName;// 新文件名
            try {
                byte[] bytes = new BASE64Decoder().decodeBuffer(shartimg[1]);  //将字符串转换为byte数组
                inputStream1 = new ByteArrayInputStream(bytes);
                ObjectMetadata metadata = new ObjectMetadata();
                metadata.setContentLength(inputStream1.available());                       oss.putObject(GlobalConfig.bucket,GlobalConfig.packagename+"/"+newFileName, inputStream1, metadata);
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
            String shareImg ="https://"+GlobalConfig.bucket+".oss-cn-beijing.aliyuncs.com/"+GlobalConfig.packagename+"/"+newFileName;
            share.setShareImg(shareImg);
            shareService.save(share);//service添加方法
            return R.ok();
        }else{
            return R.ok().put("data","数据有误");
        }
    }
GlobalConfig.java
public class GlobalConfig {
    public final static String domain  = "http://oss-cn-beijing.aliyuncs.com";//endpoint
    public final static String bucket = "bucketName";//上传的bucket名
    public final static String packagename = "manager";//图片所在文件夹名
    public final static String AccessKeyID = "";//id
    public final static String AccessKeySecret = "";//密码
}
共同成长,共同学习。