pom文件
<dependency>
<groupId>joda-time</groupId>
<artifactId>joda-time</artifactId>
<version>2.9.9</version>
</dependency>
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.8.0</version>
</dependency>
服务类
@Service
public class UploadImpl implements IUpload {
public String uploadFileAvatar(MultipartFile file) {
@Value(value = "${config.endpoint}")
String endpoint;
@Value(value = "${config.accessKeyId}")
String accessKeyId;
@Value(value = "${config.accessKeySecret}")
String accessKeySecret;
@Value(value = "${config.bucketName}")
String bucketName;
try {
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
InputStream inputStream = file.getInputStream();
String fileName = file.getOriginalFilename();
String uuid = UUID.randomUUID().toString().replaceAll("-","");
fileName = uuid+fileName;
String datePath = new DateTime().toString("yyyy/MM/dd");
fileName = datePath+"/"+fileName;
ossClient.putObject(bucketName,fileName , inputStream);
ossClient.shutdown();
return "https://img.xxxx.com/"+fileName;
}catch(Exception e) {
e.printStackTrace();
return null;
}
}
}
Controller
@RestController
@RequestMapping("/oss")
@CrossOrigin
public class OssController {
@Autowired
private IUpload ossService;
@PostMapping
public AjaxResult uploadOssFile(MultipartFile file) {
String url = ossService.uploadFileAvatar(file);
AjaxResult ajax = AjaxResult.success();
ajax.put("url", url);
return ajax;
}
}