POM.xml
<!--OSS-->
<dependency>
<groupId>com.aliyun.oss</groupId>
<artifactId>aliyun-sdk-oss</artifactId>
<version>3.8.1</version>
</dependency>
调用
import com.cly.app.utils.oss.OssUpload;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
public class AppOssController {
public String uploadBlog(MultipartFile file) {
String url = OssUpload.uploadFile(file);
return url;
}
public String uploadFileByBase64(String base64) {
String url = OssUpload.uploadFile(OssUpload.base64ToMultipart(base64));
return url;
}
}
工具类
import com.aliyun.oss.OSS;
import com.aliyun.oss.OSSClientBuilder;
import com.aliyun.oss.model.ObjectMetadata;
import com.aliyun.oss.model.PutObjectRequest;
import com.cly.app.config.qrCode.Base64DecodedMultipartFile;
import com.cly.app.utils.imgUtils.ImageSizeUtil;
import org.springframework.web.multipart.MultipartFile;
import sun.misc.BASE64Decoder;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
public class OssUpload {
private static String endpoint = "oss-cn-beijing.aliyuncs.com";
private static String accessKeyId = "LEAI5FeT42MQdQfsUaHgu67D";
private static String accessKeySecret = "sdK5BRbPdx2eacVzlSCtCOWAIcv7vN";
private static String bucketName = "test";
private static String folder = "img/";
public static String uploadFile(MultipartFile file) {
OSS ossClient = new OSSClientBuilder().build(endpoint, accessKeyId, accessKeySecret);
String filename = file.getOriginalFilename();
filename = System.currentTimeMillis()+filename;
PutObjectRequest putObjectRequest = null;
ObjectMetadata objectMetadata = new ObjectMetadata();
objectMetadata.setContentType("image/jpg");
try {
putObjectRequest = new PutObjectRequest(bucketName, folder+filename, new ByteArrayInputStream(file.getBytes()),objectMetadata);
} catch (IOException e) {
e.printStackTrace();
}
ossClient.putObject(putObjectRequest);
ossClient.shutdown();
return "https://"+bucketName+"."+endpoint+"/"+folder+filename;
}
public static MultipartFile base64ToMultipart(String base64) {
try {
String[] baseStrs = base64.split(",");
BASE64Decoder decoder = new BASE64Decoder();
byte[] b;
b = decoder.decodeBuffer(baseStrs[1]);
for(int i = 0; i < b.length; ++i) {
if (b[i] < 0) {
b[i] += 256;
}
}
return new Base64DecodedMultipartFile(b, baseStrs[0]);
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
}
```大撒大撒