图片上传到七牛云,封装

图片上传到七牛云存储,
七牛云相关的jar,可能不全,具体去查看官方文档

 <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>7.2.27</version>
        </dependency>

        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
        </dependency>

我这里封装为工具类,用的时候直接调用,将文件传入,然后返回七牛云的外链地址,可以将外链地址存到 自己的数据库中,用时从数据库取到外链地址。

package com.hadwinling.util;

import com.google.gson.Gson;
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.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.UUID;

/**
 * @author Hadwinling
 * @create 2020-04-22 19:18
 */
public class FileUpload {
    /**
     * @param uploadFile:传入要上传的图片呢
     * @return 存到七牛云的,并返回的地址
     * @throws IOException
     */
    public static String FileUploadToQiNiu(MultipartFile uploadFile) throws IOException {
        //对文件名的处理
        String fileName = uploadFile.getOriginalFilename();
        String suffix = fileName.substring(fileName.lastIndexOf(".") - 1);
        String uuid = UUID.randomUUID().toString().toUpperCase().replace("-", "");
        fileName = uuid + suffix;

        //选择地区(这里要选择自己要上传的地区,我的七牛云创立在华南,所以我直接这里写,也可以设置为自动)
        Configuration cfg = new Configuration(Region.huanan());
        //文件上传管理器
        UploadManager uploadManager = new UploadManager(cfg);
        //生成上传凭证,然后准备上传
        String accessKey = "这里输入你自己的accessKey";
        String secretKey = "这里输入你自己的secretKey ";

        //选择要上传的空间
        String bucket = "这里输入你要上传的空间";

        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);
        /**
         * fileName:文件名
         * uploadFile.getBytes():将传入的文件转为字节流进行上传
         */
        Response response = uploadManager.put(uploadFile.getBytes(), fileName, upToken);
        //解析上传成功的结果
        DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
        //在main页面中显示图片
        String imgurl = "http://q8t505ehf.bkt.clouddn.com/"+putRet.key;
        System.out.println(imgurl);
        return imgurl;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值