Fastdfs 上传图片
一、fastdfs-client的jar包导入
1、下载地址:https://github.com/happyfish100/fastdfs-client-java
2、将代码使用git下载下来之后,使用源码安装;
mvn clean install
3、安装成功后,在项目的pom.xml文件中使用如下坐标引入;
<dependency>
<groupId>org.csource</groupId>
<artifactId>fastdfs-client-java</artifactId>
<version>1.27-SNAPSHOT</version>
</dependency>
二、配置fastdfs的配置文件
1、在引入的jar包中查找配置文件,下图中的为例子(配置文件以.conf 或 .prpperties 结尾)

注:本帖子使用 .conf 作为配置文件;
2、在 classpath 路径下创建 fdfs_client.conf 文件,并将上图中的 fdfs_client.conf.sample文件内容拷贝到该文件中,修改配置文件中的 tracker_server 为指定的fastdfs主机的IP;

注1:tracker_server指向您自己IP地址和端口,1-n个
注2:除了tracker_server,其它配置项都是可选的
三、连接fastdfs分布式文件系统
FastDfsUtils.java
import org.apache.commons.io.FilenameUtils;import org.csource.common.NameValuePair;
import org.csource.fastdfs.ClientGlobal;import org.csource.fastdfs.StorageClient1;
import org.csource.fastdfs.StorageServer;
import org.csource.fastdfs.TrackerClient;
import org.csource.fastdfs.TrackerServer;
import org.springframework.core.io.ClassPathResource; /**
* 连接fastdfs, 上传图片
* 返回上传的路径, 例如: group1/M00/00/00/wKisFFpBG9eAHaQvAAAWKd1hQR4158_big.jpg
* @author pc
*
*/
public class FastDfsUtils
{
//上传图片
public static String uploadPic(byte[] pic, String name, long size) throws Exception
{
//读取配置文件
ClassPathResource resource = new ClassPathResource("fdfs_client.conf"); //从classpath路径下读取文件
ClientGlobal.init(resource.getClassLoader().getResource("fdfs_client.conf").getPath()); //连接tracker的客户端
TrackerClient trackerClient = new TrackerClient();
TrackerServer trackerServer = trackerClient.getConnection(); //连接storage的客户端
StorageServer storageServer = null;
StorageClient1 storageClient1 = new StorageClient1(trackerServer, storageServer); //上传图片
String ext = FilenameUtils.getExtension(name); //获取扩展名
NameValuePair[] metaArr = new NameValuePair[3]; //描述信息
metaArr[0] = new NameValuePair("fileName", name);
metaArr[1] = new NameValuePair("fileExt", ext);
metaArr[2] = new NameValuePair("fileSize", String.valueOf(size)); String path = storageClient1.upload_file1(pic, ext, metaArr); //返回存储的文件路径
return path;
}
}
注:StorageClient1 为升级版本的, upload_file1(byte[], String, NameValuePair[]) 为升级版的方法;
Fastdfs 上传图片的更多相关文章
- fastdfs 上传图片 完整版
1.jsp文件 <%@ page language="java" import="java.util.*" pageEncoding="UTF- ...
- FastDfs上传图片
1.1. 上传步骤 1.加载配置文件,配置文件中的内容就是tracker服务的地址. 配置文件内容:tracker_server=192.168.25.133:22122 2.创建一个TrackerC ...
- FastDFS 初始
FastDFS 详细介绍 FastDFS是一个开源的分布式文件系统,她对文件进行管理,功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题.特别适合以文件为 ...
- 使用Webupload上传图片到FastDFS分布式文件系统
使用Webupload插件上传图片到FastDFS分布式文件系统. 前提条件:1.已安装FastDFS分布式文件系统 2.使用webuploader插件上传文件 3.maven工程已引入FastDFS ...
- fastdfs 图片服务器 使用java端作为客户端上传图片
之前有说道搭建fastdfs作为图片服务器,但是没有说明如何真正在代码里调用,那么今天大致讲一下,如何使用java客户端进行上传 首先你得要有一个客户端,导入到eclipse中即可 git地址如下: ...
- Angular中上传图片到分布式文件服务器FastDFS上
使用步骤 1.上传下载需要的依赖 2.springmvc中配置多媒体解析器并加载 <!-- 配置多媒体解析器 --> <bean id="multipartResolver ...
- SpringBoot集合Linux的FastDFS与Nginx上传图片测试错误com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/192.168.1.104:22122
报错 com.github.tobato.fastdfs.exception.FdfsConnectException: 无法获取服务端连接资源:can't create connection to/ ...
- django中利用FastDFS来上传图片的流程
好处:海量问题,存储容量扩展方便,文件内容重复并且对静态文件的访问也有了提升等.
- 我心中的核心组件(可插拔的AOP)~分布式文件上传组件~基于FastDFS
回到目录 一些概念 在大叔框架里总觉得缺点什么,在最近的项目开发中,终于知道缺什么了,分布式文件存储组件,就是缺它,呵呵,对于分布式文件存储来说,业界比较公认的是FastDFS组件,它自己本身就是集群 ...
随机推荐
- IE 浏览器的兼容性列表设置
打开 IE 浏览器 IE8 为例如:
- django中使用mysql数据库的事务
django中怎么使用mysql数据库的事务 Mysql数据库事务: 在进行后端业务开始操作修改数据库时,可能会涉及到多张表的数据修改,对这些数据的修改应该是一个整体事务,即要么一起成功,要么一起 ...
- python 多线程操作数据库
如果使用多线程操作数据库,容易引起多用户操作锁表 OperationalError: (2013, 'Lost connection to MySQL server during query') 使用 ...
- ORACLE 如何产生一个随机数
1.select dbms_random.string('x', 3) from dual ; x是类型,3是长度. /* opt可取值如下: 'u','U' : 大写字母 'l','L' ...
- ext.js的目录结构的简单解释
adapter:负责将里面提供第三方底层库(包括Ext自带的底层库)映射为Ext所支持的底层库. build: 压缩后的ext全部源码(里面分类存放). docs: API帮助文档. ...
- poj1308(并查集)
题目链接:http://poj.org/problem;jsessionid=436A34AE4BE856FB2DF9B264DCA9AA4E?id=1308 题意:给定一些边让你判断是否构成数. 思 ...
- ucore-lab1-练习1report
练习1 report 问题1:OS镜像文件ucore.img是如何一步一步生成的(需要比较详细地解释Makefile中的每一条相关命令和命令参数的含义,以及说明命令导致的结果)? GNU make是一 ...
- WAS 默认端口列表
- 51nod 1163 最高的奖励
链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1163 1163 最高的奖励 基准时间限制:1 秒 空间限制:13 ...
- 动态添加select选项空选项问题
问题:动态添加校区选项的数据的时候,总是多添加一项空白的数据. 动态添加代码如下: 网上找到的原因:因为在option中有标签没有闭合,所以导致浏览器认为是两个option, 所以只需要给这个标签添加 ...