`
zhaobing315
  • 浏览: 231950 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

FastDFS java客户端文件上传demo

 
阅读更多

FastDFS不多讲,直接上java调用代码,以下代码是一个spring mvc中一个完整的上传请求,请参阅

 

	@RequestMapping(value = "/upload", method = RequestMethod.POST)
	@ResponseBody
	public Object upload(@RequestParam MultipartFile file) {
		UploadResponse res = new UploadResponse();
		try {
			if(file.isEmpty()){
				res.setRet_code(UserCodeEnum.ERR_FILE_NULL.getCode());
				res.setRet_msg(UserCodeEnum.ERR_FILE_NULL.getDesc());
			}else{
				logger.info("UserController-upload-request-file=" + file.getOriginalFilename());
				
				String tempFileName = file.getOriginalFilename();
				//fastDFS方式
				ClassPathResource cpr = new ClassPathResource("fdfs_client.conf");
				ClientGlobal.init(cpr.getClassLoader().getResource("fdfs_client.conf").getPath());
				byte[] fileBuff = file.getBytes();
			    String fileId = "";
			    String fileExtName = tempFileName.substring(tempFileName.lastIndexOf("."));
				
			    //建立连接
			    TrackerClient tracker = new TrackerClient();
			    TrackerServer trackerServer = tracker.getConnection();
			    StorageServer storageServer = null;
			    StorageClient1 client = new StorageClient1(trackerServer, storageServer);
			    
			    //设置元信息
			    NameValuePair[] metaList = new NameValuePair[3];
			    metaList[0] = new NameValuePair("fileName", tempFileName);
			    metaList[1] = new NameValuePair("fileExtName", fileExtName);
			    metaList[2] = new NameValuePair("fileLength", String.valueOf(file.getSize()));
			    
			    //上传文件
			    fileId = client.upload_file1(fileBuff, fileExtName, metaList);
			    
			    res.setHead_img(UserConstants.FILE_IMG_URL+fileId);
			    
				res.setRet_code(UserCodeEnum.SUCCESS.getCode());
				res.setRet_msg(UserCodeEnum.SUCCESS.getDesc());
			}
			
			logger.info("UserController-upload-response-" + JsonUtils.o2j(res));
		} catch (Exception e) {
			res.setRet_code(UserCodeEnum.ERR_UNKNOWN.getCode());
			res.setRet_msg(UserCodeEnum.ERR_UNKNOWN.getDesc());
			logger.error("UserController-upload-error", e);
		}
		return res;
	}

 fileId是fastDFS返回的文件路径,fastDFS是可以使用自带的web服务访问文件,也可以集成第三方例如nginx。

 

 

fastDFS java客户端配置文件fdfs_client.conf配置如下:

connect_timeout = 30
network_timeout = 60
charset = ISO8859-1
http.tracker_http_port = 8090
http.anti_steal_token = no
http.secret_key = 123456

tracker_server = 192.168.11.***:22122

 

至此完成,通过网页简单测试即可,注意表单名称应与接口一直,命名为file

分享到:
评论
1 楼 lucky870315 2015-05-20  
哥们,这个完整的例子能不能给一个

相关推荐

    FastDFS SpringBoot 客户端 Demo搭建,支持文件上传下载

    首先,我们需要在项目中添加FastDFS的Java客户端依赖。FastDFS官方提供了一个名为`fastdfs-client-java`的客户端库,可以从GitHub或其他开源仓库获取。在`fastdfs-client-java-master`压缩包中,包含了源码和编译后...

    fastdfs的java客户端代码实例

    - 在Java环境中,我们需要引入FastDFS的Java客户端库,这个库提供了与FastDFS服务器通信的API,包括连接服务器、上传文件、下载文件、删除文件等操作。 - `edu-demo-fdfs`可能是包含示例代码的项目或模块,通常会...

    SpringBoot 结合分布式文件系统FastDFS实现文件上传实例demo2.zip

    在本项目中,"SpringBoot 结合分布式文件系统FastDFS实现文件上传实例demo2.zip",我们关注的核心技术是SpringBoot框架与FastDFS的集成,用于实现高效的文件上传功能。SpringBoot是Java领域广泛使用的轻量级框架,以...

    基于FastDFS分布式文件系统的测试Demo

    2. **文件上传**:Demo中可能包含一个简单的文件上传功能,这通常涉及创建FastDFS客户端,通过连接跟踪服务器,获取到存储服务器的信息,然后将文件分块上传至存储服务器。文件上传成功后,FastDFS会返回一个文件ID...

    整合java实例 FastDFS

    `fastdfs-client-demo`文件夹中的内容通常包含FastDFS的Java客户端示例代码,这对于开发者了解如何在Java项目中集成FastDFS非常有帮助。通常,客户端的使用步骤如下: 1. **配置文件**:首先,需要配置FastDFS的...

    fastdfs分布式文件上传

    后端则使用Java作为开发语言,利用FastDFS的Java客户端进行文件上传操作。以下是对这个Demo中关键步骤的详细解析: 1. **前端文件选择与上传**: 使用AjaxFileUpload插件,用户可以选择本地文件,并通过异步方式...

    fastdfs-web示例demo

    FastDFS是一个开源的高性能、轻量级的分布式文件系统,它对文件进行管理,包括文件存储、文件同步、文件访问(文件上传、文件下载)等功能,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如...

    FastDFS集成demo

    在这个"FastDFS集成demo"中,我们将探讨如何将FastDFS与Java进行集成,以便在实际应用中实现文件(尤其是图片)的上传、删除等功能。 首先,我们来看`fastdfs-client.conf`文件。这是FastDFS客户端的配置文件,其中...

    Java操作FastDFS示例代码

    在Java中,我们通常会使用FastDFS的Java客户端来实现文件的上传和下载。首先,你需要在项目中引入FastDFS的Java客户端库。这可以通过Maven或Gradle的依赖管理工具完成,确保配置正确的版本号。 以下是一个简单的...

    FastDFS安装文件及java代码示例

    这个Demo中可能包含了FastDFS的Java SDK,用于文件上传和下载操作。 1. **引入依赖**:将FastDFS的Java客户端库加入到项目类路径,如果是Maven项目,可以在pom.xml中添加依赖。 2. **初始化连接**:创建FastDFS的...

    java_fastdfs分布式架构demo

    2. **Java客户端库**:Java FastDFS客户端提供了与FastDFS交互的API,包括连接Tracker,选择Storage,上传文件,下载文件,删除文件等功能。这个Demo将展示如何使用这些API进行文件操作。 3. **文件上传**:在Java...

    FastDFS_javademo.zip

    2. **添加依赖**:压缩包中的`pom.xml`文件是Maven项目配置文件,通过这个文件可以添加FastDFS的Java客户端依赖。你需要在`pom.xml`中添加对应的Maven坐标,例如: ```xml <groupId>org.csource <artifactId>...

    fastdfs-client-1.26上传实例

    总之,整合FastDFS和Java主要是通过FastDFS的Java客户端进行,涉及文件上传的核心操作,包括配置、连接管理、文件内容准备以及上传接口的调用。`fastdfs-client-demo`这个示例项目是学习这一过程的宝贵资源,通过它...

    fastDfs-demo.zip

    在Java代码中,这些步骤可以通过FastDFS的Java客户端库实现,如创建连接、发送文件数据、接收响应等操作。同时,为了实现分片上传,需要编写代码来分割大文件,并对每个分片进行单独的上传处理。在项目中,`src`目录...

    FastDFS搭建所需文件

    在"FastDFS搭建所需文件"中提到的测试demo,可能是一个简单的Java或PHP示例,用于演示如何使用FastDFS的客户端库进行文件操作。通过这个示例,你可以了解如何在代码中调用FastDFS API,例如: ```java import org.c...

    FastDFS 文件分布式存储linux配置+javaDemo一个

    FastDFS提供了Java客户端API,用于在Java应用中与FastDFS交互。首先,将FastDFS的Java客户端jar包添加到项目类路径中。然后,可以创建FastDFSClient实例,通过它来执行文件上传、下载、删除等操作。 例如,文件上传...

    fastdfs demo

    FastDFS是一个开源的、高...3. 编写客户端代码,使用FastDFS API进行文件上传和下载。 4. 测试文件上传和下载功能,验证FastDFS的工作原理。 这个示例将帮助你快速理解和掌握FastDFS的使用,为实际项目开发打下基础。

    fastdfs-demo1.zip

    在FastDFS的Java调用API中,`pom.xml`通常会声明对FastDFS客户端库的依赖,如`fastdfs-client-java`,这样在构建项目时,Maven会自动下载并管理这些依赖库。 `src`目录则是源代码的存放地,一般包含`main/java`和`...

    nginx+fastDFS(单机版本,系统:CentOS)

    压缩包中的Java客户端Demo提供了文件上传和下载的示例代码。在Java应用中,需要引入FastDFS的Java客户端库,通过API实现文件操作。具体步骤包括: 1. **导入依赖** 将Java客户端库添加到项目类路径中。 2. **...

    ubuntu fastDFS 文件分布式存储框架配置

    7. **Java上传Demo**:使用Java客户端进行文件上传,主要涉及以下步骤: - 连接Tracker服务器。 - Tracker返回Storage服务器信息。 - 连接Storage服务器,进行文件上传。 - 获取上传成功后的文件ID,通常包括组...

Global site tag (gtag.js) - Google Analytics