SpringBoot整合七牛云实现图片的上传管理
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
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;
@RestController
public class QiniuUploadController {
// 设置好账号的ACCESS_KEY和SECRET_KEY
String ACCESS_KEY = "你的AccessKey";
String SECRET_KEY = "你的SecretKey";
// 要上传的空间
String bucketname = "你的bucket名称";
// 密钥配置
Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);
// 创建上传对象
UploadManager uploadManager = new UploadManager(new Configuration(Region.region0()));
@PostMapping("/upload")
public String upload(@RequestParam("file") MultipartFile file) {
// 默认不指定key的情况下,以文件内容的hash值作为文件名
String key = null;
try {
byte[] uploadBytes = file.getBytes();
// 调用put方法上传
Response response = uploadManager.put(uploadBytes, key, auth.uploadToken(bucketname));
// 解析上传成功结果
DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
return putRet.key;
} catch (Exception e) {
e.printStackTrace();
return "上传失败";
}
}
}
这段代码提供了一个Spring Boot的控制器,用于处理图片上传到七牛云的请求。它使用了七牛云的Java SDK进行文件上传操作。在实际使用时,需要替换掉ACCESS_KEY
, SECRET_KEY
, 和 bucketname
为你自己的七牛云账户信息。这个例子中的upload
方法接收一个MultipartFile
类型的文件,并将其上传到七牛云。上传成功后,它会返回上传图片的键值。
评论已关闭