public static String uploadfile(MultipartFile multipartFile,String dir) { // yourEndpoint填写Bucket所在地域对应的Endpoint。以华东1(杭州)为例,Endpoint填写为https://oss-cn-hangzhou.aliyuncs.com。 String endpoint = "oss-cn-guangzhou.aliyuncs.com"; // 阿里云账号AccessKey拥有所有API的访问权限,风险很高。强烈建议您创建并使用RAM用户进行API访问或日常运维,请登录RAM控制台创建RAM用户。 String accessKeyId = "LTAIdmSJshoHjl27"; //悬停在右上角账户--->点击accessKey按钮可以查看 String accessKeySecret = "Rtxydu9q2lGjMKGkIOpal0CeyTWvMW"; // 填写Bucket名称,例如examplebucket,不可以随便写,要写你在aliyun的oss存储对象里创建的名字。 String bucketName = "itbooking"; OSS ossClient = null; try { // 创建OSSClient实例。 ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret); // 2: 获取文件上传的流 InputStream inputStream = multipartFile.getInputStream(); // 3:构建日期目录 SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd"); String datePath = dateFormat.format(new Date());// 日期目录格式:2021/10/27 // 4: 获取文件名 String originname = multipartFile.getOriginalFilename(); String filename = UUID.randomUUID().toString(); String suffix = originname.substring(originname.lastIndexOf(".")); String newName = filename + suffix; String fileUrl = dir+"/"+datePath + "/" + newName; //5:文件上传到阿里云服务器 ossClient.putObject(bucketName, fileUrl, inputStream); return "https://" + bucketName + "." + endpoint + "/" + fileUrl; //返回前端一个具体的上传路径 } catch (Exception e) { e.printStackTrace(); return "fail"; } finally { ossClient.shutdown(); //关闭流 } }