SpringBoot集成又拍云存储服务
1.开通又拍云存储服务
注册又拍云账号
2.引入依赖
<dependency>
<groupId>com.upyun</groupId>
<artifactId>java-sdk</artifactId>
<version>4.2.3</version>
</dependency>
3.导入上传文件方法
ImgConstant.UP_UR
是写的接口,可以替换成你的域名
/**
* 又拍云上传文件
*
* @param file
* @return
*/
@PutMapping("/up_upload")
public Result<String> upYunUpload(MultipartFile file) {
// 获取新的图片名
String filename = file.getOriginalFilename();
String suffix = filename.substring(filename.lastIndexOf("."));
String newFilename = UUID.randomUUID().toString().replaceAll("-", "") + suffix;
// 初始化
RestManager manager = new RestManager(ImgConstant.UP_BUCKET_NAME, ImgConstant.UP_USER_NAME, ImgConstant.UP_PASSWORD);
Map<String, String> params = new HashMap<>();
// GMT格式时间
params.put("Date", UpYunUtils.getGMTDate());
params.put("Content-Length", file.getSize() + "");
try {
// 上传图片
Response result = manager.writeFile(ImgConstant.UP_DIR + newFilename, file.getBytes(), params);
if (result.isSuccessful()) {
// 访问链接
String url = ImgConstant.UP_URL + newFilename;
return Result.success(url);
} else {
// 上传失败
return Result.error(result.code(), result.message());
}
} catch (IOException e) {
throw new BusinessException(e.toString());
} catch (UpException e) {
throw new BusinessException(e.toString());
}
}