七牛云上传图片,只需十分钟搞定
1、去七牛云注册,建好自有空间
2、导入依赖
<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>[7.7.0, 7.7.99]</version>
</dependency>
3、我这里是服务器直传,将本地的图片上传到七牛云托管,建好QiniuUtils工具类
package com.mszlu.blog.util;import com.alibaba.fastjson.JSON;
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.apache.commons.lang3.StringUtils;
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://rpe08rotl.hn-bkt.clouddn.com/"; //改成你的外链域名@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.huanan()); //改成你设置的区域,我是华南huanan//...其他参数参考类注释UploadManager uploadManager = new UploadManager(cfg);//...生成上传凭证,然后准备上传String bucket = "mszlu-jia"; //改成你的bucket名称//默认不指定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;}
}
注意点:改成你自己的url、区域和bucket名称!!!!!!!
4、去application.yml文件配置密钥accessKey和accessSecretKey
qiniu.accessKey=PL0iXbQMO465******************* //改成你自己的
qiniu.accessSecretKey=itupVOK2******************** //改成你自己的
ps:密钥在七牛云中复制:点个人头像-密钥管理
5、去application.yml文件配置文件最大值
# 上传文件总的最大值
spring.servlet.multipart.max-request-size=20MB
# 单个文件的最大值
spring.servlet.multipart.max-file-size=5MB5
6、Controller层代码
package com.mszlu.blog.controller;import com.mszlu.blog.util.QiniuUtils;
import com.mszlu.blog.vo.Result;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;import java.util.UUID;@RestController
@RequestMapping("upload")
public class UploadController {@Autowiredprivate QiniuUtils qiniuUtils;@PostMappingpublic Result upload(@RequestParam("image") MultipartFile file){String originalFilename = file.getOriginalFilename();//唯一的文件名称 使用UUIDString fileName = UUID.randomUUID().toString()+"." + StringUtils.substringAfterLast(originalFilename,".");//上传文件 长传到哪呢? 七牛云boolean upload = qiniuUtils.upload(file, fileName);if(upload){return Result.success(QiniuUtils.url + fileName);}return Result.fail(2001,"上传失败");}}
7、测试
七牛云接收图片成功
七牛云上传图片,只需十分钟搞定相关推荐
- 看后至少多活十年--只需十分钟
看后至少多活十年--只需十分钟 看后至少多活十年--只需十分钟 -北大齐教授健康讲座笔录- 看后至少多活十年!!!~~~~不要死于无知~~~~不但要保养好自己,回家也要告诉父母这么做~~~~这是好东西 ...
- JeecgBoot 单体升级微服务快速方案(十分钟搞定)
JeecgBoot 单体升级微服务方案(十分钟搞定) 当前系统分为system.demo 等模块,现有需求把每个模块单独启动作为微服务应用,故而推出新版boot[20200812beta],支持快速切 ...
- java 分组报表_【Java】分组报表怎么做,积木报表十分钟搞定!
首页 专栏 java 文章详情 0 分组报表怎么做,积木报表十分钟搞定! scott发布于 今天 12:24 报表需求 某大型超市需要做一张年度区域销售统计报表 展示2019和2020年度各地区每月的 ...
- 在线qmc0转换mp3工具_如何将M4A格式的音频转换为MP3格式?只需一步搞定
随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今天 ...
- 逗号后面统一加空格_十分钟搞定字幕,教你做加字幕的“快手菜”
平台上许多同学有疑问:做视频是否有加字幕的必要呢? 其实除了外语需要翻译.语速过快加字幕方便理解.普通话不标准等情况之外,还是建议有余力的同学可以加上字幕,提升用户的观看体验. 那么问题来了,存在以下 ...
- 如何将M4A格式的音频转换为MP3格式?只需一步搞定
随着网络技术的发达,会有很多人喜欢在网上下载东西,特别是很喜欢在网上下载音乐,但是下载音乐之后发现是M4A格式?这样用起来很不方便,都喜欢MP3格式的,那么如何将M4A格式的音频转换为MP3格式?今天 ...
- 全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析
全网最简单的C# json数据解析 无敌菜鸟教程 十分钟搞定json数据解析 废话先说一点,算了.直接进入正题吧. 用例子说话: JSON数据: string json: " {" ...
- JAVA微信企业付款到零钱(十分钟搞定),附完整DEMO下载
最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信提现功能开发的流程, 主要就是按规则封装好请求参数调用微信接口,涉及一些签名校验: A.接口流程 获取用户OPENI ...
- java零钱换整程序_JAVA微信企业付款到零钱(十分钟搞定),
JAVA微信企业付款到零钱(十分钟搞定), 最近帮朋友做了一个简单的微分销系统,实现从企业付款到零钱分润的功能,简单记录一下微信企业付款到零钱的开发过程, 主要就是按规则封装好请求参数调用微信接口,涉 ...
最新文章
- 你觉得 ThreadLocalRandom 这玩意真的安全吗?
- SAP已发票校验采购订单退货 - 特殊业务
- 迷宫游戏c语言代码讲解,迷宫游戏C语言代码讲解.doc
- 跳出内层循环 使用 for of 代替 map
- hdu 2222 Keywords Search(ac自动机)
- C#不支持XPATH2.0
- android打开网络连接失败怎么办,《我叫MT Online》安卓版网络连接失败怎么解决?...
- vue ui框架_Vue移动端UI框架指南
- hexo搭建个人博客_hexo 搭建个人博客
- import python settings from_python settings 中通过字符串导入模块
- 360浏览器清除缓存_手机中的缓存是什么?
- Could not get resource ‘https://dl.google.com/dl/android/maven2/com/android/
- 嵌入式端的神经网络算法部署和实现综合
- C# | 批量将CAD图幅网格外扩生成新图框(附源代码下载)
- CSDN调整图片大小
- WannaCry 勒索软件
- 网络爬虫Matplotlib
- Striped64 api详解
- 你真的了解ELT和ETL吗?
- android开发——用户头像
热门文章
- HTML期末大作业 web网页设计实例作业 ——中国水墨风书画艺术网站(12页)HTML DⅣV+ CSSJS
- html表格文字纵向排列,table中如何竖排英文?
- mate7 android 5.0,强烈恳求mate7能升级到安卓5.0!!!!
- android 播放器评测,山灵M6新版评测 简谈山灵所有安卓播放器音质差异
- 摄影基础之-单反测光系统-中
- 元盛居门店管理系统(门店管理板块)
- CentOS7 安装配置SFTP服务器详解
- Vue 项目中高亮格式化 xml 代码
- JQuery 再谈ajax局部刷新
- 小熊派 FreeRTOS+SPI+DMA 驱动 TFT-LCD