2019独角兽企业重金招聘Python工程师标准>>>

不多说 直接贴代码,使用开源,回馈开源。这部分是来之于爱睦家商城(www.imujia.com)的部分源代码。七牛sdk不支持分页获取 资源信息,鄙视!!

插件:

QiniuPlugin.java

package com.imujia.server.plugin.qiniu;import com.jfinal.plugin.IPlugin;/*** * @author michael QQ&微信:198819880* 爱睦家商城 www.imujia.com* */
public class QiniuPlugin  implements IPlugin {private String propFile = "qiniu.properties";public QiniuPlugin() {}public QiniuPlugin(String propFile) {this.propFile = propFile;}@Overridepublic boolean start() {QiniuKit.init(new QiniuConfig(propFile));return true;}@Overridepublic boolean stop() {return true;}}

QiniuConfig.java

package com.imujia.server.plugin.qiniu;import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;import org.apache.log4j.Logger;
import org.json.JSONException;import com.qiniu.api.auth.AuthException;
import com.qiniu.api.auth.digest.Mac;
import com.qiniu.api.rs.PutPolicy;
import com.qiniu.api.rs.RSClient;
import com.qiniu.api.rsf.RSFClient;/*** * @author michael QQ&微信:198819880* 爱睦家商城 www.imujia.com* */
public class QiniuConfig {private static final Logger logger = Logger.getLogger(QiniuConfig.class);private String ak;private String sk;public QiniuConfig(String propertiesFile) {Properties properties = new Properties();InputStream is = QiniuConfig.class.getClassLoader().getResourceAsStream(propertiesFile);try {properties.load(is);} catch (IOException e) {logger.error("QiniuConfig", e);}ak = properties.getProperty("ak");sk = properties.getProperty("sk");}public String getAk() {return ak;}public void setAk(String ak) {this.ak = ak;}public String getSk() {return sk;}public void setSk(String sk) {this.sk = sk;}public String  getToken(String bucketName){Mac mac = new Mac(ak, sk);PutPolicy putPolicy = new PutPolicy(bucketName);try {return putPolicy.token(mac);} catch (JSONException e) {logger.error("qiniu config get token", e);} catch (AuthException e) {logger.error("qiniu config get token", e);}return null;}public RSFClient getRSFClient(){Mac mac = new Mac(ak, sk);RSFClient client = new RSFClient(mac);return client;}public RSClient getRSClient(){Mac mac = new Mac(ak, sk);RSClient client = new RSClient(mac);return client;}}

QiniuKit.java

package com.imujia.server.plugin.qiniu;import java.io.File;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;import com.qiniu.api.io.IoApi;
import com.qiniu.api.io.PutExtra;
import com.qiniu.api.io.PutRet;
import com.qiniu.api.rs.RSClient;
import com.qiniu.api.rsf.ListItem;
import com.qiniu.api.rsf.ListPrefixRet;
import com.qiniu.api.rsf.RSFClient;/*** * @author michael QQ&微信:198819880* 爱睦家商城 www.imujia.com* */
public class QiniuKit {static QiniuConfig mConfig;static void init(QiniuConfig config){mConfig = config;}public static PutRet put(String bucketName,String filePath,InputStream is){String token = mConfig.getToken(bucketName);return IoApi.Put(token, filePath, is, new PutExtra());}public static PutRet put(String bucketName,String filePath,File file){String token = mConfig.getToken(bucketName);return IoApi.putFile(token, filePath, file, new PutExtra());}public static List<ListItem> list(String bucketName) {return list(bucketName,0);}public static List<ListItem> list(String bucketName,int count) {return list(bucketName, "*", count);}public static List<ListItem> list(String bucketName,String directoryPath) {return list(bucketName, directoryPath, 0);}public static List<ListItem> list(String bucketName,String directoryPath,int count) {if(directoryPath == null){directoryPath = "*";}if(count == 0){count = Integer.MAX_VALUE;}RSFClient  client =  mConfig.getRSFClient();ListPrefixRet list = client.listPrifix(bucketName, directoryPath, "", count);if(list == null) return null;List<ListItem> items = new ArrayList<ListItem>();items.addAll(list.results);return items ;}public static void remove(String bucketName, String filePath){RSClient client = mConfig.getRSClient();client.delete(bucketName, filePath);}}

需要到的jar包有:

httpclient-4.3.6.jar
httpcore-4.3.3.jar
httpmime-4.3.6.jar
qiniu-java-sdk-6.1.7.1.jar
没有jar包的联系我微信我发给你,maven的自己配置啦

使用方法:

1、src目录下添加配置文件qiniu.properties ,内容如下

ak = your qiniu ak
sk = your qiniu sk

2、在jfinal的配置类的

configPlugin方法里添加QiniuPlugin

3、配置好后,如下使用:

QiniuKit.put(bucketName, filePathAndName, file);

4、完毕。

海哥个人QQ&微信号:198819880 ,欢迎交流。

转载于:https://my.oschina.net/yangfuhai/blog/353040

Jfinal的七牛云存储插件:qiniuPlugin for jfinal.相关推荐

  1. PbootCms阿里云OSS插件和七牛云存储插件

    特别注意事项 URL请填写全地址,如下图是阿里云OSS提供的Bucket域名,请填写完整这个域名. 插件介绍 增加图片上传到七牛云和阿里云OSS,可选择启用. 图片上传.编辑器上传图片均已接入云存储. ...

  2. Kindeditor上传图片到七牛云存储插件(PHP版)

    由于工作需要,要使用第三方存储作为图床,发现七牛云挺不错,又可以免费使用10G的空间,决定先试试. 项目中使用的是Kindeditor作为网页编辑器的,七牛云的插件里没有现成的Kindeditor的插 ...

  3. 【宝塔面板建站】05. 七牛云存储使用教程 免费备份10G数据(保姆级图文)

    目录 实现效果 注册并实名一个七牛云帐号 配置七牛云存储空间 新建对象存储空间 域名管理 解析域名得到CNAME 检查加速域名配置是否成功 获取七牛云密钥 得到2个密钥 宝塔面板配置七牛云 安装七牛云 ...

  4. Maven仓库搭建(二):GitHub、又拍云、七牛云存储

    转载自:http://blog.csdn.net/xiao__gui/article/details/52640280 在上一篇博文中,主要介绍了Maven仓库搭建原理,除了Nexus外,随意使用一个 ...

  5. fatal error lnk1120: 1 个无法解析的外部命令_3月1日七牛云存储割韭菜的应对方法...

    前言 早上起来看邮件,看到一封被七牛云割韭菜的公告: 内心冰冰凉,不过大家都要吃饭的嘛总不能一直免费下去.所以来研究一下对于我们这种穷人应该如何应对. 一.七牛CDN加速流程 主要流程分析 1.用户通 ...

  6. 添加七牛云存储_3月1日七牛云存储割韭菜的应对方法

    前言 早上起来看邮件,看到一封被七牛云割韭菜的公告: 内心冰冰凉,不过大家都要吃饭的嘛总不能一直免费下去.所以来研究一下对于我们这种穷人应该如何应对. 一.七牛CDN加速流程 主要流程分析 1.用户通 ...

  7. 【微信小程序控制硬件⑥ 进阶篇】服务器如何集成七牛云存储SDK,把用户自定义设备图片存储在第三方服务器!

    本博文由热爱分享热爱技术的半颗心脏原创,非官方人员.非组织名义编写,博文如有不对或侵犯您的权益,请及时留言,第一时间纠正! [微信小程序控制硬件①] 全网首发,借助 emq 消息服务器带你如何搭建微信 ...

  8. 青牛融合cdn_详解七牛云存储以及融合CDN加速

    对于网站上的资源,比如图片,音视频,以及CSS.JS等静态文件可以使用融合CDN加速,提高页面访问速度与资源加载速度. 同样是对网站做加速,但根据需求一般分为两种情况: 情景一:同时使用七牛云的加速服 ...

  9. 图片存储方案-七牛云存储

    1.引语 在实际开发中,我们会有很多处理不同功能的服务器.例如: 应用服务器:负责部署我们的应用 数据库服务器:运行我们的数据库 文件服务器:负责存储用户上传文件的服务器 分服务器处理的目的是让服务器 ...

  10. ueditor与七牛云存储结合

    2019独角兽企业重金招聘Python工程师标准>>> 摘要:  ueditor与七牛云存储结合,主要是表单api. ueditor上传图片到七牛云存储 ueditor结合七牛传图片 ...

最新文章

  1. 最长上升子序列之基础
  2. python程序官方网站-IO编程
  3. html5音频文件生成波形图代码,HTML5/D3.js 可视音频波形柱状图
  4. C mysql批量写入_使用JDBC在MySQL数据库中快速批量插入数据
  5. android中常见的回调模式
  6. Ubuntu 16.04 64位安装YouCompleteMe
  7. 软件工程概论--课后作业1
  8. 使用DaemonSet+Taint/Tolerations+NodeSelector部署Nginx Ingress Controller
  9. Android C++ OpenGL教程课程总结
  10. 黑苹果 macos 教程
  11. 云基础架构|部署分类|IaaS|PaaS|SaaS——浅析云计算架构
  12. eclipse将安卓项目commit至github本地仓库后,项目bin文件夹下不生成apk且运行报错
  13. 无线移动通信技术快速发展历程和趋向(转)
  14. MFC应用程序中嵌入一个谷歌cef浏览器
  15. Ubuntu 18.04 桌面卡死
  16. 网络安全中的NISP-SO安全运维工程师都需要那些工具?
  17. Steam账号注册--流程
  18. 微信自定义菜单使用特殊字符出现的问题
  19. PLY格式介绍与读取
  20. 中职计算机专业英语说课稿,中职英语说课稿范文

热门文章

  1. 输入法分类总结与优缺点
  2. paip.命令行执行js
  3. paip..net代码生成器使用总结
  4. 失范的数字货币量化市场:积弊成疾,洗牌将至 |链捕手
  5. 着力财富管理市场产品全覆盖 基金公司争设销售子公司
  6. (转)孙正义:数字资产会成为人类最大的资产
  7. 机器学习笔记(三十):基尼系数、CART
  8. 【优化算法】社会群体优化算法(SGO)【含Matlab源码 1449期】
  9. 【语音隐写】基于matlab GUI DWT音频数字水印(带语音播报)【含Matlab源码 711期】
  10. 【房价预测】基于matlab Elman神经网络开盘价预测【含Matlab源码 708期】