Java后端实现七牛云上传图片、读取图片链接

添加依赖

        <!--七牛云sdk--><dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>7.2.11</version></dependency>

controller


@Api("文件上传")
@RestController
public class UploadController {@Autowiredprivate UploadService uploadService;@PostMapping(path = "/avatar",produces = "application/json")@ApiOperation("更换头像")public ResModel replaceAvator(@ApiParam("头像文件") MultipartFile file) throws IOException {return uploadService.replaceAvatar(file);}
}

service接口

public interface UploadService {ResModel replaceAvatar(MultipartFile file);
}

serivce实现类

@Service
public class UploadServiceImpl implements UploadService {//上传文件@Overridepublic ResModel replaceAvatar(MultipartFile file) {try {/** 华北是zone1, [华东z0] [华南z2] [北美na0] [东南亚as0] */Configuration config = new Configuration(Zone.zone0());UploadManager manager = new UploadManager(config);String accessKey="XXX";String secretKey="XXX";String bucket="XXX";Auth auth = Auth.create(accessKey, secretKey);String token = auth.uploadToken(bucket);Response response = manager.put(file.getInputStream(), file.getOriginalFilename(), token, null, null);//解析上传成功的结果DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);System.out.println(putRet.key);//文件名称System.out.println(putRet.hash);//空间hash值//根据文件名获取七牛云存储链接String path = getFilePath(putRet.key);System.out.println(path);return path;} catch (IOException e) {throw new RuntimeException(e);}}//读取文件public static String getFilePath(String fileName) {//自己的域名路径+文件名String publicUrl = "XXX"+ fileName;/*** 空间为私有访问,需要验证 tokenString accessKey="XXX";String secretKey="XXX";Auth auth = Auth.create(accessKey, secretKey);long expireInSeconds = 3600; //1小时,可以自定义链接过期时间String finalUrl = auth.privateDownloadUrl(publicUrl, expireInSeconds);*/return publicUrl;}
}

前端

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body>//action,修改后端接口路径<form action="http://localhost:8089/avatar" method="post" enctype="multipart/form-data">选择需要上传的文件:<input type="file" name="file"><input type="submit" value="提交"></form>
</body>

Java实现七牛云上传图片、读取图片链接相关推荐

  1. Java实现七牛云文件或图片上传下载

    写在前面 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:人工智能学习网站 文章目录 写在前面 一.准备工作 1.1.为什么选择七牛云? 1.2.七牛云注册 二.ja ...

  2. 使用七牛云进行存储图片并返回URL

    文章目录 springboot中将图片存储到七牛云上 文章目录 文章目录 一.导入七牛云依赖包 二.在utils中添加两个工具类 1.QiniuUtils类 2.PictureUtil类 三.一个前端 ...

  3. Java实现七牛云上传下载文件或图片

    文章目录 写在前面 一.准备工作 1.1.为什么选择七牛云? 1.2.七牛云注册 二.java操作七牛云对象存储下载 2.1.pom.xml引入依赖 2.2.上传下载具体代码 三.具体业务例子(七牛云 ...

  4. java实现七牛云图片文件的上传

    java实现七牛云图片文件的上传 七牛云:https://portal.qiniu.com/create#resource 首先需要去注册一个账号实现实名认证 之后打开七牛云的 我们需要先创建一个储存 ...

  5. 七牛云 上传图片到七牛云并返回图片URL

    七牛云 上传图片到七牛云并返回图片URL 鸣谢'追逐盛夏流年':https://blog.csdn.net/j1231230/article/details/80061834 在开发项目的时候,经常会 ...

  6. 七牛云上传图片和视频

    先说本文主要的重点: 七牛云上传图片(包括从相机获取的和从相册获取的)    七牛云上传视频       8.0手机调起相机        都会进行描述    多图片和多视频上传    获取图片后缀 ...

  7. python对接七牛云上传图片代码,可运行

    python对接七牛云上传图片,可运行 一.准备工作 注册七牛云获取: 1.Access Key(注册认证后自动生成) 2.Secret Key(注册认证后自动生成) 3.空间名称:ihome(创建空 ...

  8. 我的第一个网站-七牛云上传图片问题记录

    鸽了好久,最近才把我的域名备案好,备案花了差不多半个月: 然后我发现因为我的一些图片都比较大,我的云服务器也才1核2G,别人访问起来很卡很卡,要等好久才能把图片加载好.然后我去问了我的师兄,给了我意见 ...

  9. 如何利用七牛云在线存储图片

    平时写学习笔记和博客文章的时候早已习惯了使用 Markdown 记录,各种方便,但图片的保存和展示成了一个比较关键的问题,虽然可以使用本地相对路径显示图片,但也很不方便,总不能一直是单机版吧.七牛云是 ...

最新文章

  1. 直播回顾|结构光3D相机光机核心技术及3D成像性能分析
  2. 【Java源码分析】LinkedHashSet和HashSet源码分析
  3. 银行考试计算机重点知识,银行考试计算机知识模拟试题及答案
  4. 分布式内存数据库---redis配置文件常用配置介绍
  5. 计算1到N的十进制数中1的出现次数
  6. wxWidgets:库LIB清单
  7. 我们是如何做DevOps的?
  8. HTML的图片标签image的图片地址
  9. 续写传奇,浪潮存储凭何脱颖而出
  10. 文件与流 -- fopen/fclose
  11. Android控件之HorizontalScrollView 去掉滚动条
  12. Dimensional 将 290 亿美元的共同基金转换为 ETF
  13. 游戏服务器开发技术栈
  14. 创建第一个Android app项目
  15. C# ZIP文件压缩和解压
  16. 【校园卡】2020移动联通电信校园卡对比
  17. UBUNTU内核升级后,如何更新 kernel headers
  18. swiper半圆形旋转
  19. python turtle画中国象棋_Python turtle绘画象棋棋盘
  20. 三、Sails 中使用Jwt进行身份认证

热门文章

  1. 技术成熟度/制造成熟度/产品成熟度
  2. 简单学生选课系统之登录界面
  3. 华为nova3i能用鸿蒙吗,华为nova3i怎么打开nfc功能? 华为nova3i有nfc功能吗
  4. 用Spring构建企业Java应用程序
  5. 【Bootstrap】bootstrap入门之栅格布局、弹性布局、组件类_02
  6. 我今天写了一代可执行可执行文件的代码东东,请参详
  7. UVa 112 - Tree Summing
  8. CPDA学员请注意:老师们又在研究课程新内容啦!
  9. MVC 过滤器使用 ActionFilterAttribute
  10. 在腾讯云服务器Linux系统中安装MySQL【完美解决】