这里返回值R类型是mybatisPlus里的,没用到的可以换
//通过阿里云获取到的一些key了什么的,这些可以写道配置文件中统一管理
static String endpoint = "oss地址";
static String accessKeyId = "🔑";
static String accessKeySecret = "🔑";
static String bucketName = "存到的文件夹";
//这个一个controller中方法 返回值类型自己随便
//如果是多个图片就把参数换成数组
public R imgupload(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
//这个可有可无,全凭喜好
String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
fileName = UUID.randomUUID().toString().replace("-", "") + "." + suffix; //可以不用uuid自己瞎起名字
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
try {
ossClient.putObject(bucketName, fileName, file.getInputStream());//重要的部分
} catch (IOException e) {
e.printStackTrace();
return R.fail(e.getLocalizedMessage());
} finally {
ossClient.shutdown();
}
return R.data("https://" + bucketName + "." + endpoint + "/" + fileName);
}