0
点赞
收藏
分享

微信扫一扫

springboot集成图片上传(七牛云平台)

用户在访问应用服务器,加入服务器是1M/s,加入用户使用的是我们的应用服务器的图片,一张图片100k,十个用户同时使用,带宽也就占完了,于是我们借助一个新的图片服务器,我们将图片放到服务器上,此时用户使用图片,就去访问图片服务器。

自建图片服务器成本消耗大,于是我们借助官方的云服务器:七牛云 (免费)。

在七牛云官网注册账号,进行实名认证后,在空间管理里创建一个公开空间。

 

进入七牛云开发者中心

 

选择javaSDK

 

导入最新的七牛云依赖

 域名查看

 

新建一个qiniuUtils工具类

url设置为自己域名

accessKey和accessSerectKey在application.properties里设置

package com.kaisa.blog.utils;
​
import com.alibaba.fastjson.JSON;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.Configuration;
import com.qiniu.storage.Region;
import com.qiniu.storage.UploadManager;
import com.qiniu.storage.model.DefaultPutRet;
import com.qiniu.util.Auth;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import org.springframework.web.multipart.MultipartFile;
​
@Component
public class QiniuUtils {
    public static final String url = "http://域名/";
​
    @Value("${qiniu.accessKey}")
    private String accessKey;
    
    @Value("${qiniu.accessSecretKey}")
    private String accessSecretKey;
​
    public  boolean upload(MultipartFile file,String fileName){
​
        //构造一个带指定 Region 对象的配置类
        Configuration cfg = new Configuration(Region.huabei());
        //...其他参数参考类注释
        UploadManager uploadManager = new UploadManager(cfg);
        //...生成上传凭证,然后准备上传
        String bucket = "blog-merist";
        //默认不指定key的情况下,以文件内容的hash值作为文件名
        try {
            byte[] uploadBytes = file.getBytes();
            Auth auth = Auth.create(accessKey, accessSecretKey);
            String upToken = auth.uploadToken(bucket);
            Response response = uploadManager.put(uploadBytes, fileName, upToken);
            //解析上传成功的结果
            DefaultPutRet putRet = JSON.parseObject(response.bodyString(), DefaultPutRet.class);
            return true;
        } catch (Exception ex) {
            ex.printStackTrace();
        }
        return false;
    }
​
}

application.propertise

qiniu.accessKey=XXXXXX
qiniu.accessSerectKey=XXXXXX

密钥在七牛云平台的密钥管理里查看

 

举报

相关推荐

0 条评论