撸表情开发过程中使用腾讯云存储的接入实例分享

推荐一下一个有趣的表情包收集网站,也可以在线制作表情包,欢迎访问:撸表情

 

撸表情(http://www.lubiaoqing.com)这个网站是业余时间开发的一个网站,涉及到大量表情包的检索和存储,个人服务器肯定难以为继,所以选择了腾讯云存储。

在对接过程中,使用了腾讯云对象存储服务 Java SDK,下载地址:github项目

注意有个坑的地方就是必须是JDK1.7!!!

 

pom.xml 添加依赖

<dependency><groupId>com.qcloud</groupId><artifactId>cos_api</artifactId><version>3.3</version>
</dependency>

  

然后相关API文档也是很完备的,如下:

 

文件操作

上传文件

方法原型

String uploadFile(UploadFileRequest request);

  

参数说明

参数名类型默认值参数描述
requestUploadFileRequest上传文件类型请求

 

request成员对象:

 

request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,文件路径不能以/结尾, 例如 /mytest/demo.txt
localPathString构造函数或set方法要上传的本地文件的绝对路径
bizAttrString构造函数或set方法文件的备注,主要用于对该文件用途的描述
insertOnlyInsertOnly (枚举)NO_OVER_WRITE (不覆盖)set方法是否直插入不覆盖已存在的文件, NO_OVER_WRITE表示只直插入不覆盖, 当文件存在返回错误 OVER_WRITE 表示允许覆盖

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess, 'data':\$data}, code为0表示成功, message为SUCCESS或者失败原因, data中包含相关的属性, 详情请参见返回值模块

示例

UploadFileRequest uploadFileRequest = new UploadFileRequest(bucketName,         "/sample_file.txt", "local_file_1.txt");
String uploadFileRet = cosClient.uploadFile(uploadFileRequest);

  

获取文件属性

方法原型

String statFile(StatFileRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestStatFileRequest获取文件属性请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,文件路径不能以/结尾, 例如 /mytest/demo.txt

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess, 'data':\$data}, code为0表示成功, message为SUCCESS或者失败原因, data中包含相关的属性, 详情请参见返回值模块

示例

StatFileRequest statFileRequest = new StatFileRequest(bucketName, "/sample_file.txt");
String statFileRet = cosClient.statFile(statFileRequest);

  

更新文件属性

方法原型

String updateFile(UpdateFileRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestUpdateFileRequest更新文件属性请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,文件路径不能以/结尾, 例如 /mytest/demo.txt
bizAttrStringset方法文件的备注,主要用于对改文件用途的描述
authorityString (枚举)set方法文件权限,默认是继承bucket的权限合法取值: eInvalid(继承bucket), eWRPrivate(私有读写), eWPrivateRPublic(私有写, 公有读)
cacheControlStringset方法参见HTTP的Cache-Control
contentTypeStringset方法参见HTTP的Content-Type
contentLanguageStringset方法参见HTTP的Content-Language
contentDispositionStringset方法参见HTTP的Content-Disposition
x-cos-meta-Stringset方法自定义HTTP 头,参数必须以x-cos-meta-开头,值由用户定义,可设置多个

tips: 更新属性可以选择其中的某几个,对于HTTP头部cache_control,content_type, content_disposition和x-cos-meta-, 如果本次只更新其中的某几个,其他的都会被抹掉,即这4个属性是整体更新。

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess}, code为0表示成功, message为SUCCESS或者失败原因, 详情请参见返回值模块

示例

UpdateFileRequest updateFileRequest = new UpdateFileRequest(bucketName, "/sample_file.txt");updateFileRequest.setBizAttr("测试目录");
updateFileRequest.setAuthority(FileAuthority.WPRIVATE);
updateFileRequest.setCacheControl("no cache");
updateFileRequest.setContentDisposition("cos_sample.txt");
updateFileRequest.setContentLanguage("english");
updateFileRequest.setContentType("application/json");
updateFileRequest.setXCosMeta("x-cos-meta-xxx", "xxx");
updateFileRequest.setXCosMeta("x-cos-meta-yyy", "yyy");String updateFileRet = cosClient.updateFile(updateFileRequest);

  

移动文件(重命名文件)

方法原型

String moveFile(MoveFileRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestMoveFileRequest移动文件请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,文件路径不能以/结尾, 例如 /mytest/demo.txt
overWriteOverWriteOverWrite.NO_OVER_WRITE构造函数或set方法是否覆盖, 0(默认): 不覆盖, 1: 覆盖

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess}, code为0表示成功, message为SUCCESS或者失败原因, 详情请参见返回值模块

示例

MoveFileRequest moveFileRequest = new MoveFileRequest(bucketName, "/sample_file.txt", "/sample_file_move.txt");
String moveFileRet = cosClient.moveFile(moveFileRequest);

  

删除文件

方法原型

String delFile(DelFileRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestDelFileRequest删除文件请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,文件路径不能以/结尾, 例如 /mytest/demo.txt

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess}, code为0表示成功, message为SUCCESS或者失败原因, 详情请参见返回值模块

示例

DelFileRequest delFileRequest = new DelFileRequest(bucketName, "/sample_file_move.txt");
String delFileRet = cosClient.delFile(delFileRequest);

  

目录操作

创建目录

方法原型

String createFolder(CreateFolderRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestCreateFolderRequest创建目录请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,目录路径必须以/结尾, 例如 /mytest/dir/
bizAttrStringset方法目录的备注,主要用于对目录用途的描述

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess}, code为0表示成功, message为SUCCESS或者失败原因, 详情请参见返回值模块

示例

CreateFolderRequest createFolderRequest = new CreateFolderRequest(bucketName, "/sample_folder/");
String createFolderRet = cosClient.createFolder(createFolderRequest);

  

获取目录属性

方法原型

String statFolder(StatFolderRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestStatFolderRequest获取目录属性请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,目录路径必须以/结尾, 例如 /mytest/dir/

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess, 'data':\$data}, code为0表示成功, message为SUCCESS或者失败原因, data中包含相关的属性, 详情请参见返回值模块

示例

StatFolderRequest statFolderRequest = new StatFolderRequest(bucketName, "/sample_folder/");
String statFolderRet = cosClient.statFolder(statFolderRequest);

  

更新目录属性

方法原型

String updateFolder(UpdateFolderRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestUpdateFolderRequest更新目录属性请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,目录路径必须以/结尾, 例如 /mytest/dir/
bizAttrStringset方法目录的备注,主要用于对目录用途的描述

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess}, code为0表示成功, message为SUCCESS或者失败原因, 详情请参见返回值模块

示例

UpdateFolderRequest updateFolderRequest = new UpdateFolderRequest(bucketName, "/sample_folder/");
updateFolderRequest.setBizAttr("这是一个测试目录");
String updateFolderRet = cosClient.updateFolder(updateFolderRequest);

  

获取目录列表

方法原型

String listFolder(ListFolderRequest request);

  

参数说明

参数名参数类型默认值参数描述
requestListFolderRequest获取目录成员请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,目录路径必须以/结尾, 例如 /mytest/dir/
numint199构造函数或set方法获取列表成员的数量,最大为199
patternListPattern (枚举)BOTH构造函数或set方法获取列表成员类型, 合法取值 BOTH(获取文件和目录), DIR_ONLY(只获取目录), FILE_ONLY(只获取文件)
prefixString构造函数或set方法搜索成员的前缀, 例如prefix为test表示只搜索以test开头的文件或目录
contextString构造函数或set方法搜索上下文, 由上一次list的结果返回,作为这一次搜索的起点,用于循环获取一个目录下的所有成员
orderListOrder (枚举)POSITIVE (正序)构造函数或set方法搜索顺序, POSITIVE: 正序, NEGATIVE: 逆序

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess, 'data':\$data}, code为0表示成功, message为SUCCESS或者失败原因, data中包含成员列表, 详情请参见返回值模块

示例

ListFolderRequest listFolderRequest = new ListFolderRequest(bucketName, "/sample_folder/");
String listFolderRet = cosClient.listFolder(listFolderRequest);

  

删除目录

方法原型

String delFolder(DelFolderRequest request);

参数说明

参数名参数类型默认值参数描述
requestDelFolderRequest删除目录请求
request成员类型默认值设置方法描述
bucketNameString构造函数或set方法bucket名称
cosPathString构造函数或set方法cos路径, 必须从bucket下的根/开始,目录路径必须以/结尾, 例如 /mytest/dir/

返回结果说明

返回值类型返回值描述
String{'code':\$code, 'message':$mess}, code为0表示成功, message为SUCCESS或者失败原因, 详情请参见返回值模块

示例

DelFolderRequest delFolderRequest = new DelFolderRequest(bucketName, "/sample_folder/");
String delFolderRet = cosClient.delFolder(delFolderRequest);

签名管理

签名模块提供了生成多次签名、单次签名和下载签名的接口,其中多次签名和单次签名在文件和目录操作的api内部使用,用户不用关心,下载签名用于方便用户生成下载私有bucket的文件签名。

多次签名

方法原型

String getPeriodEffectiveSign(String bucketName, String cosPath, Credentials cred, long expired)

使用场景

上传文件, 重命名文件, 创建目录, 获取文件目录属性, 拉取目录列表

参数说明

参数名参数类型默认值参数描述
bucketStringbucket名称
cos_pathString要签名的cos路径
credCredentials用户身份信息, 包括appid, secretId, secretkey
expiredlong签名过期时间, UNIX时间戳

返回结果说明

base64编码的字符串

示例

Credentials cred = new Credentials(appId, secretId, secretKey);
long expired = System.currentTimeMillis() / 1000 + 600;
String signStr = Sign.getPeriodEffectiveSign(bucketName, "/pic/test.jpg", cred, expired); 

单次签名

方法原型

String getOneEffectiveSign(String bucketName, String cosPath, Credentials cred)

使用场景

删除和更新文件目录

参数说明

参数名参数类型默认值参数描述
bucketunicodebucket名称
cos_pathunicode要签名的cos路径
credCredentials用户身份信息, 包括appid, secretId, secretkey

返回结果说明

base64编码的字符串

示例

Credentials cred = new Credentials(appId, secretId, secretKey);
String signStr = Sign.getOneEffectiveSign(bucketName, "/pic/test.jpg", cred);

下载签名

方法原型

String getDownLoadSign(String bucketName, String cosPath, Credentials cred, long expired)

使用场景

生成文件的下载签名, 用于下载私有bucket的文件

参数说明

参数名参数类型默认值参数描述
bucketunicodebucket名称
cos_pathunicode要签名的cos路径
credCredentials用户身份信息, 包括appid, secretId, secretkey
expiredlong签名过期时间, UNIX时间戳

返回结果说明

base64编码的字符串

示例

Credentials cred = new Credentials(appId, secretId, secretKey);
long expired = System.currentTimeMillis() / 1000 + 600;
String signStr = Sign.getDownLoadSign(bucketName, "/pic/test.jpg", cred, expired); 

操作返回值说明

code含义
0操作成功
-1输入参数错误, 例如输入的本地文件路径不存在, cos文件路径不符合规范
-2网络错误, 如404等
-3连接cos时发生异常,如连接超时
-71操作频率过快,触发cos的频控

转载于:https://www.cnblogs.com/semoon/p/6180899.html

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html路径详解,详解HTML相对路径和绝对路径

相对路径&#xff1a;以引用文件之网页所在位置为参考基础&#xff0c;而建立出的目录路径。因此&#xff0c;当保存于不同目录的网页引用同一个文件时&#xff0c;所使用的路径将不相同&#xff0c;故称之为相对。绝对路径&#xff1a;以Web站点根目录为参考基础的目录路径。之…

#65279导致页面顶部空白一行解决方法

今天做了两个静态html页面&#xff0c;在浏览器中测试的时候&#xff0c;发现其中一个html页面的顶部多出了些许空白&#xff0c;而另一个页面显示正常。在浏览器中进行了审查对比&#xff0c;发现有空白的那个页面的head标签里面的元素全部跑到了body里面&#xff0c;而且body…

计算机应用技术自我分析,计算机应用*个人自我鉴定

第1篇&#xff1a;计算机应用*个人自我鉴定时光匆匆溜走&#xff0c;短短三年的大学生活即将过去。在菁菁校园中&#xff0c;老师的教诲&#xff0c;同学的友爱以及各方面&#xff0c;使我获得了许多知识&#xff0c;懂得了许多道理。为了更好地适应社会的需要&#xff0c;我在…

怎么把桌面计算机放到快速启动栏,怎么把桌面图标放到快速启动栏

1. 如何把桌面图标放于快速启动栏拖动图标到任务栏&#xff0c;之后删除桌面图标不行的话点击“开始”菜单→“运行”命令&#xff0c;在弹出的“运行”对话框中输入 regsvr32 /n /i:u shell32 后回车&#xff0c;丢失的图标便又重新回到快速启动栏了再不行的话在Windows操作系…

html5 自适应手机布局,科技常识:html5移动端自适应布局的实现

今天小编跟大家讲解下有关html5移动端自适应布局的实现 &#xff0c;相信小伙伴们对这个话题应该有所关注吧&#xff0c;小编也收集到了有关html5移动端自适应布局的实现 的相关资料&#xff0c;希望小伙伴们看了有所帮助。场景&#xff1a;为适应各种大小的屏幕自适应布局我知…

js 两个map合并为一个map_ArcGIS API for JS3.x教程二:构建第一个简单的程序

本文衔接上文&#xff1a;不睡觉的怪叔叔&#xff1a;ArcGIS API for JS3.x教程一&#xff1a;本地开发环境配置​zhuanlan.zhihu.com一、创建简单的HTML文档创建一个简单的HTML文档&#xff1a;<!DOCTYPE html> <html lang"en"> <head><meta c…

hibernate、easyui、struts2整合

<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>学生表</title> <!-- 1jQuery的js包 --> <script type"text/javascript" src"jquery-easyui-1.4.4/jquery.min.js"></script&…

selinux= 为 disabled_CentOS7关闭防火墙和SELinux

关闭防火墙查看防火墙状态[rootlocalhost ~]# systemctl status firewalld临时关闭&#xff08;下次开机启动&#xff0c;自动启动防火墙&#xff09;[rootlocalhost ~]# systemctl stop firewalld永久关闭防火墙&#xff08;开机启动时不在启动&#xff09;[rootlocalhost ~]#…

selenium 基本的键盘方法

selenium 基本的键盘方法 今晚不想加班&#xff0c;于是赶紧回来看看书&#xff1a; 1.下了selenium的小工具&#xff1a;FireBug/FirePath。 2.确定了看书顺序&#xff0c;我觉得难度低点开始比较好&#xff0c;所以我还是先看基于Python的selenium&#xff0c;另一本书再看把…

计算机主机组成部分和功能,电脑的组成部分及作用

对于很多人来讲&#xff0c;电脑的使用似乎是一件很稀松平常的事情了。但是对于一些新手或者是一些初学者来说&#xff0c;电脑的相关组成部件还有相应的作用都不是很熟悉&#xff0c;那么电脑的组成部分及作用是什么呢?下面是学习啦小编收集的关于电脑的组成部分及作用&#…

android8 通知呼吸灯_正在消失的功能,为什么越来越多的手机没有呼吸灯?你知道原因吗...

正在消失的功能&#xff0c;为什么越来越多的手机没有呼吸灯&#xff1f;你知道原因吗其实说到手机呼吸灯&#xff0c;大家应该都不陌生&#xff0c;毕竟如果你有心心念念的人儿&#xff0c;每次呼吸灯闪烁&#xff0c;都会迫不及待的打开手机查看消息&#xff0c;想看看是不是…

asp 使用TreeView控件

这段代码为了使用 TreeNodeCheckChanged 事件&#xff0c;会有回刷新的效果&#xff1b; 不喜欢的可查看改进版&#xff0c;利用js控制选择操作&#xff0c;无界面刷新&#xff0c; “http://www.cnblogs.com/GoCircle/p/6231985.html”&#xff1b; 前台代码 <style>.tn…

巴川数据科学炼成记_【脑王直通车】小小记忆高手炼成记

“ 记住150个随机数字&#xff0c;你需要多久&#xff1f;【脑王直通车】第8站到来&#xff0c;杨老师将他在《最强大脑》比赛中运用的记忆方法倾囊相授&#xff0c;孩子们变身小小记忆高手&#xff01;”记忆探秘你们知道记忆是什么吗&#xff1f;我们从小到大&#xff0c;无论…

2013年4月管理计算机应用,全国2013年4月高等教育自学考试管理系统中计算机应用试题及答案...

我自己整合过的,相当的详细,几乎设计了出现的所有的知识的哦!!全国2013年4月高等教育自学考试管理系统中计算机应用试题课程代码&#xff1a;00051请考生按规定用笔将所有试题的答案涂、写在答题纸上。选择题部分注意事项&#xff1a;1. 答题前&#xff0c;考生务必将自己的考试…

[BZOJ3173][Tjoi2013]最长上升子序列

[BZOJ3173][Tjoi2013]最长上升子序列 试题描述 给定一个序列&#xff0c;初始为空。现在我们将1到N的数字插入到序列中&#xff0c;每次将一个数字插入到一个特定的位置。每插入一个数字&#xff0c;我们都想知道此时最长上升子序列长度是多少&#xff1f;输入 第一行一个整数N…

lrange是取出所有值并移除么_图解双指针 | LeetCode 27. 移除元素

题目描述 原题链接&#xff1a;LeetCode 27. 移除元素给定一个数组 nums 和一个值 val&#xff0c;你需要原地移除所有数值等于 val 的元素&#xff0c;返回移除后数组的新长度。不要使用额外的数组空间&#xff0c;你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成…

计算机辅助工程分析及应用论文,计算机辅助工程计量的论文

【摘要】随着科学技术的不断进步&#xff0c;计算机辅助工程计量的技术也日趋成熟并得到广泛应用。下面就广联达图形算量作以简要概述。【关键词】计算机、辅助、工程计量一、gcl7.0图形算量软件应用综述广联达图形算量软件gcl7.0是专为在目前传统定额模式向清单模式过渡时期量…

Effective前端5:减少前端代码耦合

什么是代码耦合&#xff1f;代码耦合的表现是改了一点毛发而牵动了全身&#xff0c;或者是想要改点东西&#xff0c;需要在一堆代码里面找半天。由于前端需要组织js/css/html&#xff0c;耦合的问题可能会更加明显&#xff0c;下面按照耦合的情况分别说明&#xff1a; 1. 避免全…

戴尔笔记本电脑的计算机配置在哪,戴尔电脑的便签在哪里?笔记本电脑怎么设置便签?...

戴尔电脑是国内一些用户所使用的电脑品牌。如果戴尔电脑安装的是Windows系统&#xff0c;是可以在电脑附件中找到系统自带的便笺或者Sticky Notes工具的&#xff0c;可以粘贴在电脑桌面上记录简单的文字内容&#xff0c;但并不支持设置待办提醒事项。除了系统自带便笺之外&…

12帧跑步动画分解图_画出人物跑步的动画运动规律,并上传动画效果视频和逐帧图片。...

【判断题】在竞争激烈的市场环境中,职业生的就业优势是证书【简答题】请把今天的语文作业拍照、语音上传,谢谢!【简答题】请把今天的语文作业拍照上传,今日古诗语音上传,谢谢!【简答题】请把今天的作业拍照、语音上传,谢谢!【判断题】职业纵向发展只体现在技术和职务提升。【判…