七牛云文件上传,文件删除,刷新CDN缓存之JAVA实现
七牛云依赖包(maven为例)
<dependencies>
<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.14.2</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>2.8.5</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.qiniu</groupId>
<artifactId>happy-dns-java</artifactId>
<version>0.1.6</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>
编写UploadController.java(上传,删除接口)
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.HashMap;
import java.util.Map;
@RestController
@Slf4j
public class UploadController {
@PostMapping ("/upload")
public BaseResponseUtil uploadPicture (
@RequestParam ("file") MultipartFile file) {
BigDecimal size = new BigDecimal (file.getSize ());
BigDecimal mod = new BigDecimal (1024);
size = size.divide (mod).divide (mod).setScale (2, BigDecimal.ROUND_HALF_UP);
String fileSize = size + "MB";
log.info ("uploadController===>size: {}", size);
byte[] bytes = null;
try {
bytes = file.getBytes ();
} catch (IOException e) {
e.printStackTrace ();
}
String suffix = file.getOriginalFilename ().split ("\\.")[1];
if (! FileUtil.isPicture (bytes, suffix)) {
return BaseResponseUtil.error (CodeEnum.FILE_INVALID);
}
try {
FileInputStream inputStream = (FileInputStream) file.getInputStream ();
BufferedInputStream bufferedInputStream