一、通过Maven添加MogileFS的Java客户端驱动包

<dependency>
  <groupId>fm.last</groupId>
  <artifactId>moji</artifactId>
  <version>1.4.</version>
</dependency>

二、配置Bean

<bean id="moji" class="fm.last.moji.spring.SpringMojiBean">
<property name="addressesCsv" value="192.168.174.104:7001" />
<property name="domain" value="c1" />
<property name="maxActive" value="" />
<property name="maxIdle" value="" />
<property name="testOnBorrow" value="true" />
</bean>

三、常用API

3.1 上传或者覆盖服务器上的文件

MojiFile mojiFile = moji.getFile("k2");
moji.copyToMogile(new File("test.txt"), mojiFile);

3.2 当然也可以指定类名,如:

MojiFile mojiFile = moji.getFile("k2“,”c1”);

3.3 从服务器上下载获取文件

mojiFile.copyToFile(new File(“myTest.txt"));

3.4 删除服务器上的文件

mojiFile.delete();

3.5 修改服务器上的文件名字

mojiFile.rename("newName");

3.6 获得服务器上文件的大小

mojiFile.length()

3.7 检查服务器上文件是否存在

if(mojiFile.exists()){……}

3.8 修改服务器上文件的类别

mojiFile.modifyStorageClass("new Class");

3.9 对文件key进行前缀模糊查询

List<MojiFile> files = moji.list("k");
for(MojiFile file : files) {
  System.out.println("file=="+file);
} 可
以指定取出几个来,如:
List<MojiFile> files = moji.list("k",)

3.10 获取文件的url路径

mojiFile.getPaths()

3.11 流式上传文件到服务器

OutputStream out = null;
try {
out = mojiFile.getOutputStream();
out.write("only test file".getBytes());
out.flush();
} finally {
out.close();
}

3.12 流式从服务器下载文件

InputStream in = null;
try {
in = mojiFile.getInputStream();
byte[] bs = new byte[in.available()];
in.read(bs);
System.out.println("the content===="+new String(bs));
} finally {
in.close();
}

MogileFS与spring结合的更多相关文章

  1. 基于spring注解AOP的异常处理

    一.前言 项目刚刚开发的时候,并没有做好充足的准备.开发到一定程度的时候才会想到还有一些问题没有解决.就比如今天我要说的一个问题:异常的处理.写程序的时候一般都会通过try...catch...fin ...

  2. 玩转spring boot——快速开始

    开发环境: IED环境:Eclipse JDK版本:1.8 maven版本:3.3.9 一.创建一个spring boot的mcv web应用程序 打开Eclipse,新建Maven项目 选择quic ...

  3. Spring基于AOP的事务管理

                                  Spring基于AOP的事务管理 事务 事务是一系列动作,这一系列动作综合在一起组成一个完整的工作单元,如果有任何一个动作执行失败,那么事务 ...

  4. [Spring]IoC容器之进击的注解

    先啰嗦两句: 第一次在博客园使用markdown编辑,感觉渲染样式差强人意,还是github的样式比较顺眼. 概述 Spring2.5 引入了注解. 于是,一个问题产生了:使用注解方式注入 JavaB ...

  5. 学习AOP之透过Spring的Ioc理解Advisor

    花了几天时间来学习Spring,突然明白一个问题,就是看书不能让人理解Spring,一方面要结合使用场景,另一方面要阅读源代码,这种方式理解起来事半功倍.那看书有什么用呢?主要还是扩展视野,毕竟书是别 ...

  6. 学习AOP之深入一点Spring Aop

    上一篇<学习AOP之认识一下SpringAOP>中大体的了解了代理.动态代理及SpringAop的知识.因为写的篇幅长了点所以还是再写一篇吧.接下来开始深入一点Spring aop的一些实 ...

  7. 学习AOP之认识一下Spring AOP

    心碎之事 要说知道AOP这个词倒是很久很久以前了,但是直到今天我也不敢说非常的理解它,其中的各种概念即抽象又太拗口. 在几次面试中都被问及AOP,但是真的没有答上来,或者都在面上,这给面试官的感觉就是 ...

  8. 为什么做java的web开发我们会使用struts2,springMVC和spring这样的框架?

    今年我一直在思考web开发里的前后端分离的问题,到了现在也颇有点心得了,随着这个问题的深入,再加以现在公司很多web项目的控制层的技术框架由struts2迁移到springMVC,我突然有了一个新的疑 ...

  9. Spring之旅(2)

    Spring简化Java的下一个理念:基于切面的声明式编程 3.应用切面 依赖注入的目的是让相互协作的组件保持松散耦合:而AOP编程允许你把遍布应用各处的功能分离出来形成可重用的组件. AOP面向切面 ...

随机推荐

  1. JAVA基础知识|synchronized和lock

    一.synchronized 是jvm的一个关键字,使用过程均由jvm控制 有三种使用方式: 修饰实例方法,作用于当前实例加锁,进入同步代码前要获得当前实例的锁 修饰代码块,同方法 修饰静态方法,作用 ...

  2. Oracle 给表添加备注

    给表字段添加备注 comment on column TableName.ColumnName is ‘备注名’; 给表添加备注comment on table TableName is '备注名';

  3. npm如何更新安装包?

    方法一手动跟新:修改package.json中依赖包版本,执行npm install --force 方法二使用第三方插件:npm install -g npm-check-updatesncu // ...

  4. linux内核中#if IS_ENABLED(CONFIG_XXX)与#ifdef CONFIG_XXX的区别

    1. #if IS_ENABLED(CONFIG_XXX) 1.1 IS_ENABLED的定义如下: /* * IS_ENABLED(CONFIG_FOO) evaluates to 1 if CON ...

  5. PHP根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围

    /** * 根据传入的经纬度,和距离范围,返回所有在距离范围内的经纬度的取值范围 * @param float $lng 经度 * @param float $lat 纬度 * @param floa ...

  6. C# 读取文件内容

    读取文件内容有三种方式 全部读取到字符串变量中 一次读取一行 全部读取到字符串数组中,每个数组元素存储一行文本 全部读取到字符串变量 string text = System.IO.File.Read ...

  7. Expression: __acrt_first_block == header

    File: minkernel\crts\ucrt\src\appcrt\heap\debug_heap.cpp Line: 996 Expression: __acrt_first_block == ...

  8. 03--STL算法(常用算法)

    一:常用的查找算法 (一)adjacent_find():邻接查找 在iterator对标识元素范围内,查找一对相邻重复元素,找到则返回指向这对元素的第一个元素的迭代器.否则返回past-the-en ...

  9. Windows server 2008 R2 桌面服务器管理器打开提示:试图引用不存在的令牌

    来源:https://social.technet.microsoft.com/Forums/zh-CN/90f376a3-2b52-46c1-be34-4a2dbf4fdea2/winserver2 ...

  10. python 递归和匿名函数

    1.理解函数执行流程 def foo1(b, b1=3): print("foo1 called", b, b1) def foo2(c): foo3(c) print(" ...