ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

springboot+七牛云 把图片上传到七牛云,将本地图片变为网络图片,跟图床一样

2022-01-28 14:58:19  阅读:186  来源: 互联网

标签:七牛云 String com qiniu System println 图片 上传 springboot


1.注册七牛云账号

https://portal.qiniu.com/homehttps://portal.qiniu.com/home

1.2.然后开通存储,你实名认证后就会有个免费的

1.3.新建空间

 1.4.选择公有的试试水

 1.5查看你的ak和sk

点击右上角

点击密匙管理

这就是你的ak和sk,代码文件上传中要用。

 

 2.代码

2.1导入七牛坐标 

<!--        七牛云-->
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>qiniu-java-sdk</artifactId>
            <version>[7.7.0, 7.7.99]</version>
        </dependency>
        <dependency>
            <groupId>com.squareup.okhttp3</groupId>
            <artifactId>okhttp</artifactId>
            <version>3.14.2</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.google.code.gson</groupId>
            <artifactId>gson</artifactId>
            <version>2.8.5</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.qiniu</groupId>
            <artifactId>happy-dns-java</artifactId>
            <version>0.1.6</version>
            <scope>test</scope>
        </dependency>

2.2.编写控制器层

@Api(value = "发布类",description = "文件上传",tags = "发布类")
@Controller
public class FileUploadController {
    @Autowired Result result;
    @RequestMapping("/publish")
//    @CachePut(value = "asd")
    @ApiOperation("发布功能")
    @ResponseBody
   public Result publish(@RequestParam("title") String title,@RequestParam("file") MultipartFile[] files){
        for (MultipartFile mf:files){
            System.out.println(mf.getOriginalFilename());
        }
       // System.out.println(file.getOriginalFilename());
        System.out.println(title);
        //构造一个带指定 Region 对象的配置类
        Configuration cfg = new Configuration(Region.region2());
//...其他参数参考类注释

        UploadManager uploadManager = new UploadManager(cfg);
//...生成上传凭证,然后准备上传
        String accessKey = "你的ak值";//ak值
        String secretKey = "你的sk值";//sk值
        String bucket = "你的空间名字";//刚命名的
//如果是Windows情况下,格式是 D:\\qiniu\\test.png
        String localFilePath = "F:\\桌面\\billboard.jpg"; //文件上传路径
//默认不指定key的情况下,以文件内容的hash值作为文件名
        String key = "test";//上传文件的名字

        Auth auth = Auth.create(accessKey, secretKey);
        String upToken = auth.uploadToken(bucket);

        try {
            Response response = uploadManager.put(localFilePath, key, upToken);
            //解析上传成功的结果
            DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);
            System.out.println(putRet.key);
            System.out.println(putRet.hash);
        } catch (QiniuException ex) {
            Response r = ex.response;
            System.err.println(r.toString());
            try {
                System.err.println(r.bodyString());
            } catch (QiniuException ex2) {
                //ignore
            }
        }

        return result;
    }
}

2.3测试

 七牛云后台

可以看到test图片已经上传了,不过不绑定域名的话,七牛云30天后会给你清除掉。

文件上传你只要把格式变为http://域名//文件名 存到数据库中,展现的时候直接取数据库就行,ok日常记录一下。

标签:七牛云,String,com,qiniu,System,println,图片,上传,springboot
来源: https://blog.csdn.net/qq_55823436/article/details/122731040

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有