W
e
l
c
o
m
e
: )

SpringBoot集成又拍云存储服务

1.开通又拍云存储服务

查看又拍云-文档帮助中心 (upyun.com)

注册又拍云账号

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());
    }
}
posted @ 2023-02-14 04:54  与你一起看星辰  阅读(111)  评论(0)    收藏  举报