java实现七牛云上传文件及获取token

1.导入jar包

<!--七牛上传-->
<dependency><groupId>com.qiniu</groupId><artifactId>qiniu-java-sdk</artifactId><version>7.2.0</version>
</dependency>

2.工具类

package com.es.biz.common.utils;import com.alibaba.fastjson.JSONObject;
import com.aliyun.oss.ServiceException;
import com.es.common.exception.RRException;
import com.es.common.persistence.Response;
import com.es.common.utils.ResponseUtils;
import com.es.common.utils.StringUtils;
import com.es.modules.oss.cloud.OSSFactory;
import com.qiniu.common.QiniuException;
import com.qiniu.common.Zone;import com.qiniu.storage.Configuration;
import com.qiniu.storage.UploadManager;
import com.qiniu.util.Auth;
import jdk.nashorn.internal.runtime.logging.Logger;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.springframework.util.FileCopyUtils;
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 org.springframework.web.multipart.MultipartHttpServletRequest;import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.*;@RestController
@RequestMapping("qiniuUtils")
public class QiniuUtils {// 设置需要操作的账号的AK和SKprivate static final String ACCESS_KEY = "xxxxxxxx";private static final String SECRET_KEY = "xxxxxxxx";// 要上传的空间名private static final String bucketname = "xxxxxxxx";// 密钥private static final Auth auth = Auth.create(ACCESS_KEY, SECRET_KEY);public static void main(String[] args) {System.out.println(getToken());
//        String url = getQiniu("http://sjf.sojet-tech.com/upload/20200916/5393fc5d3d324c3d9523162303e4b588.mp4");
//        System.out.println(url);}@RequestMapping("/upload")public Response upload(@RequestParam("file") MultipartFile file) {if (file.isEmpty()) {return ResponseUtils.ok("上传文件不能为空");}//上传文件String suffix = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf("."));byte[] data = null;try {data = file.getBytes();} catch (Exception ex) {throw new RRException("上传文件失败:" + ex.getMessage());}String url = OSSFactory.build().uploadSuffix(data, suffix);Map<String, Object> map = new HashMap<>();map.put("url", getQiniu(url));map.put("saveUrl", url);map.put("fileName", file.getOriginalFilename());return ResponseUtils.ok("上传文件成功", map);}/*** 七牛图片下载** @param url* @return*/public static String getQiniu(String url) {if ("".equals(url)) {return "";}//TODO 七牛空间已改为公共空间,无需授权下载,后期删除项目中的getQiniu(),暂时直接返回if(StringUtils.isNotBlank(url)){return BizConstant.DOMAIN_NAME + url;}if (url.contains("?")) {url = url.substring(0, url.indexOf("?"));}return BizConstant.DOMAIN_NAME + auth.privateDownloadUrl(url, 360000000); // 过期时间100000小时}private String getError(String message) {JSONObject obj = new JSONObject();obj.put("error", 1);obj.put("message", message);return obj.toString();}/*** 获取token* @return*/@RequestMapping("/getToken")public static Response getToken(){Map<String, Object> map = new HashMap<>();String token = auth.uploadToken(bucketname);if (StringUtils.isEmpty(token)) {return ResponseUtils.error("未获取到token,请重试!");}map.put("token", token);return ResponseUtils.ok(map);}
}

java实现七牛云上传文件相关推荐

  1. java整合七牛云上传文件

    七牛云存储 七牛云(隶属于上海七牛信息技术有限公司)是国内领先的以视觉智能和数据智能为核心的企业级云计算服务商,同时也是国内知名智能视频云服务商,累计为 70 多万家企业提供服务,覆盖了国内80%网民 ...

  2. 七牛云上传文件之表单上传文件

    本人愚钝,七牛云上传文件的开发说明文档看了好久才搞懂,才能完成一个实例跑起来.现在做一下总结. 1.注册七牛,新建一个bucket,并获得ak,sk这个不用说了.不涉及到程序编码,重点讲一下编码的流程 ...

  3. uni-app 七牛云上传文件

    关注我的哔哩哔哩哦 https://space.bilibili.com/309103931 哔哩哔哩文章链接https://www.bilibili.com/read/cv5072498 七牛云上传 ...

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

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

  5. 使用七牛云上传文件报错error=incorrect region, please use up-z2.qiniu.com

    在上传图片到七牛云服务器上报错如下: info ===== <QNResponseInfo= id: CB441DB1-B50D-472A-8DAB-B07700E102C5, ver: 7.1 ...

  6. 使用七牛云上传文件报错incorrect region, please use up-z1.qiniup.com

    在上传图片到七牛云服务器上报错如下: 400: {"error":"incorrect region, please use up-z1.qiniup.com" ...

  7. PHP七牛云上传大视频文件异步存为m3u8格式(包括回调过程)

    问题引入 视频的第一帧加载缓慢. 简介 HTTP Live Streaming,缩写为HLS,是由苹果公司提出基于HTTP的流媒体网络传输协议.它的工作原理是把整个流分成一个个小的基于HTTP的文件来 ...

  8. java获取ajax上传的文件,Java使用Ajax异步上传文件

    相关代码示例: html代码片段: 名称 class="layui-input"> 描述 文件 请选择配置文件 立即提交 重置 js代码片段: //上传配置文件 $(&quo ...

  9. 七牛云上传截图后的base64位遇到的问题总结

    最近公司内部项目遇到上传base64位图片到七牛云,并且自定义key存储,在解决过程遇到很多问题,但是最终经过请教,都得到结果,故在这里总结一下... 官方文档 1,布局代码如下: <div c ...

  10. 七牛云上传资源和拉取

    一.七牛云存储介绍 七牛云存储,是非常流行的用户存储图片 视频 音频 等文件的存储方式,可以大大的降低用户请求对我们自己服务器的查询压力, 能有效的提高网页的打开速度,使用户获取更好的使用体验. 二. ...

最新文章

  1. JAVA操作MYSQL数据库
  2. mask rcnn算法原理图_基于MASK RCNN算法实现瑕疵图像识别(训练模型及应用)
  3. 各种环境下的渗透测试
  4. 你周围需要这6种人(文摘)
  5. python垃圾邮件识别_【Python】垃圾邮件识别
  6. Qstring 与tr翻译过来的中文进行比较的问题
  7. android关于window
  8. Sklearn——Sklearn的介绍与安装
  9. 2018年度获取工作日节假日API
  10. ChatGPT 爆火!谷歌、微软、百度纷纷下场?
  11. AD操作整理(部分)
  12. 下载VirtualBox,创建虚拟机,安装Linux系统(Ubuntu版)
  13. hightCharts制作三维立体图
  14. sql导入txt数据出错被截断等
  15. 墨迹天气总显示内部服务器更新,墨迹天气常见问题之无法更新版本的解决
  16. 计算机应用综合知识模拟试卷及答案,计算机应用专业综合知识模拟试卷3
  17. 通过梦网科技平台接口实现网页验证码校验功能
  18. 【私有git】使用docker搭建gitlab-ce中文社区版服务器
  19. canvas转图片,print-js实现打印
  20. PandoraBox 扩大overlay容量

热门文章

  1. 机械加工余量的大小有显著影响加工质量和生产效率
  2. C. Fault-tolerant Network-Educational Codeforces Round 124 (Rated for Div. 2)
  3. 微信小程序 文字下标_微信小程序_文字单行背景自适应带角标
  4. DApp横空出世,它是APP的下一个替代者吗?
  5. 逻辑强化(15)论证评价 知识练习
  6. Flutter TabBar增加跑步和地铁图标
  7. axps转化为html,Java 将PDF 转为Word、图片、SVG、XPS、Html、PDF/A
  8. PPT文档里面如何插入斜体文字
  9. 华为机试真题 Java 实现【分班】
  10. 华清远见-重庆中心-学习第一周记录