一、通过Maven添加MogileFS的Java客户端驱动包
<dependency> <groupId>fm.last</groupId> <artifactId>moji</artifactId> <version>1.4.0</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="100" /> <property name="maxIdle" value="10" /> <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",10)
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(); }