七牛云工具类

首先我们需要创建一个oss.properties文件存储七牛云的必须属性,可在七牛云官网查看

#qiniu.bucket= xxx
#qiniu.access_key= xxx
#qiniu.secret_key= xxx
#qiniu.base_url= xxx

 

七牛工具类QiniuOssUtils

import com.google.gson.Gson;
import com.qiniu.common.QiniuException;
import com.qiniu.http.Response;
import com.qiniu.storage.BucketManager;
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 java.io.*;
import java.util.Properties;/*** 七牛OSS管理工具*/
public class QiniuOssUtils {/*** 存储空间名*/private static String BUCKET;/*** accessKey和secretKey*/private static String ACCESS_KEY;private static String SECRET_KEY;/*** 外网访问地址(内置域名有效期只有30天)*/private static String BASE_URL;/*** 上传管理器*/private UploadManager upload;/*** 桶管理器(存储空间管理器)*/private BucketManager bucket;static {InputStream in = null;try {in = QiniuOssUtils.class.getResourceAsStream("/oss.properties");Properties p = new Properties();p.load(in);BUCKET = p.getProperty("qiniu.bucket");ACCESS_KEY = p.getProperty("qiniu.access_key");SECRET_KEY = p.getProperty("qiniu.secret_key");BASE_URL = p.getProperty("qiniu.base_url");} catch (IOException e) {e.printStackTrace();} finally {if (in != null) {try {in.close();} catch (IOException e) {e.printStackTrace();}}}}public QiniuOssUtils() {this(Region.autoRegion());}public QiniuOssUtils(Region region) {//创建配置对象Configuration cfg = new Configuration(region);//创建上传管理器upload = new UploadManager(cfg);//创建存储空间管理器bucket = new BucketManager(getAuth(), cfg);}/*** 返回认证器(包含的访问密钥)** @return*/private Auth getAuth() {return Auth.create(ACCESS_KEY, SECRET_KEY);}/*** 获取令牌对象(服务器返回的授权信息)** @return*/private String getToken() {return getAuth().uploadToken(BUCKET);}/*** 文件上传** @param file* @return*/public String upload(File file, String key) {try {return upload(new FileInputStream(file), key);} catch (FileNotFoundException | QiniuException e) {e.printStackTrace();}return null;}/*** 上传文件** @param is* @param key* @return* @throws QiniuException*/public String upload(InputStream is, String key) throws QiniuException {//上传流Response response = upload.put(is, key, getToken(), null, null);//解析返回结果DefaultPutRet putRet = new Gson().fromJson(response.bodyString(), DefaultPutRet.class);//将文件的访问地址返回return BASE_URL + putRet.key;}/*** 删除文件** @param key*/public void delete(String key) {try {bucket.delete(BUCKET, key);} catch (QiniuException e) {e.printStackTrace();}}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/256496.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

1688获得店铺的所有商品教程

onebound.1688.item_search_shop 获取key和secret API文档说明 完整返回数据 { "user": { "id": null, "nick": null, "good_num": "", "level": "", …

无限重启-千牛app

一. 问题描述 1.1 问题JIRA XXX 1.2 现象 手机无限重启,清数据后能开机,恢复数据的时候还是会无限重启. 1.3 结论 1.无限重启的原因: 由于每次开机AccessibilityManagerService都会去解析每个有辅助功能…

千牛服务器网站,千牛平台远程服务器

千牛平台远程服务器 内容精选 换一换 云堡垒机与RADIUS服务器对接,认证登录系统的用户身份。本小节主要介绍如何配置RADIUS域认证模式,并可对配置的RADIUS认证进行用户有效性测试。用户已获取系统模块管理权限。已获取RADIUS服务器相关信息。若需修改认证…

「从零入门推荐系统」19:HM推荐系统代码实战案例

作者 | gongyouliu 编辑 | gongyouliu 我们在上一章中利用Netflix prize数据集讲解了最基础、最简单的一些推荐系统召回、排序算法,大家应该对怎么基于Python实现推荐算法有了一些基本的了解了。接着上一章的思路,本章我们会基于一个更复杂、更近代一点的…

python clicknium 库自动化千牛桌面端

python clicknium 库自动化千牛桌面端 千牛是阿里巴巴集团卖家工作台,商家经营的必备工具,今天我们使用python来自动化千牛桌面端。 clicknium 是基于 python 实现的一套 免费的UI 自动化的库,功能强大、简单易用,可以用来操作桌…

登陆千牛时显示服务器失败,千牛登陆云服务器

千牛登陆云服务器 内容精选 换一换 本节操作介绍Linux操作系统云服务器在单用户模式下重置密码的操作步骤。本文档适用于X86架构的弹性云服务器。进入单用户模式下重置root密码前请先做好数据备份。请根据操作系统类型选择操作步骤:CentOS 8系列CentOS 7/EulerOS 系…

这些在 App Store 中找不到的 Mac 常用软件

由于 App Store 对软件的限制比较严格,加上对付费软件还会收取较高的抽成。所以很多软件都没有在 App Store 上架,它们有自己的官网,比如迅雷、搜狗输入法、谷歌浏览器、千牛、百度网盘等。 本文分享的常用软件已在下表列举,这些…

软考高级架构师笔记-5计算机网络

目录 1. 前言 & 考情分析2. 网络功能和分类2.1 通信技术3. OSI七层模型及协议3. 1 局域网和广域网协议3. 2 协议3. 3 交换技术、路由、传输介质4 IP地址5 网络存储技术6 其它考点8. 结语1. 前言 & 考情分析 前文回顾: 软考高级架构师笔记-1计算机硬件软考高级架构师笔…

OpenCV实战(25)——3D场景重建

OpenCV实战(25)——3D场景重建 0. 前言1. 重建 3D 场景1.1 3D 场景点重建1.2 算法原理 2. 分解单应性3. 光束平差法4. 完整代码小结系列链接 0. 前言 在《相机姿态估计》一节中,我们学习了如何在校准相机时恢复观察 3D 场景的相机的位置。算…

用 GPT-4 来面试,简直开挂啊!

公众号关注 “GitHubDaily” 设为 “星标”,每天带你逛 GitHub! 众所周知,ChatGPT 凭其超强的文本生成能力,成为了 2023 年最为火爆的 AI 应用之一。 几个月前,GPT-4 发布,又将 ChatGPT 的能力提升到了一个…

.Net Core——用代码写代码?

想要用代码写代码,肯定是绕不开反射的。反射的概念相比都不陌生,只是应用多少就因人而异,今天分享一个代码生成器的思路,仅供参考,不要过分依赖哦。 思路分析 众所周知,利用反射可以在程序运行时获取到任…

JAVA企业级开发 1.5 初探Spring AOP

一、提出游吟诗人唱赞歌任务 骑士执行任务前和执行任务后,游吟诗人唱赞歌 (一)采用传统方式实现 修改day04子包的勇敢骑士类 修改day04子包里的救美骑士类 执行测试类 - TestKnight (二)采用传统方式实现的缺…

【JavaSE】Java基础语法(三十九):网络编程入门

文章目录 1. 网络编程概述2. 网络编程三要素3. IP地址4. InetAddress5. 端口和协议 1. 网络编程概述 计算机网络 是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络 操作系统,网络管理软件及网络通信协…

欧拉与莫比乌斯

更多文章可以在本人的个人小站:https://kaiserwilheim.github.io 查看。 转载请注明出处。 初稿写于2021-10-10, 再修改于2022-02-07 Achtung: 本文章使用p来代指“任意质数”,请勿混淆。 首先让我们膜拜一下莱昂哈德欧拉(Leonhard Euler)…

贝塞尔

贝塞尔曲线可视化链接 介绍: 贝塞尔曲线,又称贝兹曲线或贝济埃曲线,是应用于二维图形应用程序的数学曲线。一般的矢量图形软件通过它来精确画出曲线,贝兹曲线由线段与节点组成,节点是可拖动的支点,线段像可…

详解人工智能的五大思想流派 元芳你支持哪一派?

▼ 点击上方蓝字 关注网易智能 聚焦AI,读懂下一个大时代! 【网易智能讯 3月1日消息】未来的就业形势还能依靠科技巨头和首席执行官们来决定,而人工智能的未来,依旧充满了太多的不确定性。 这一状况是源自于人工智能及其在科技行业…

【科大讯飞】全球首款,Mobius莫比斯同声翻译耳机 ,AI智能运动耳机 ,支持英日法韩俄西班牙6种语音...

© 程序员严选 丨 为您甄选全球好物 科大讯飞重磅推出 翻译界的最新黑科技神器 同声翻译 智能耳机 对方说外语,耳机就会同声语音翻译出来哦~ 。。。 著名语音AI品牌科大讯飞与咪咕联合打造了一款智能翻译耳机,全球首款全语音人工智能耳机——Mobius…

DailyMart03:如何基于DDD设计商城的领域模型?

大家好,我是飘渺。既然有人催更那今天咱们就继续更新DDD&微服务系列! 在面向对象开发中,所有事物都可以看作是对象。然而,在日常开发中,我们通常从数据出发来设计对象的表现形式,这种做法侧重于数据属性…

哈萨比斯的人类补完计划

在著名动漫《新世纪福音战士》里,碇源堂和他背后的SEELE组织始终在执行一项叫做“人类补完计划”的神秘行动。 这个计划到底是什么意思,粉丝们已经争吵了很多年。但大体上应该是说利用“神性”来补完人类族群,从而消除人类社会中的种种问题。…