Java客户端:https://github.com/happyfish100/fastdfs-client-java

开发工具:IntelliJ IDEA + maven

不啰嗦 直接撸代码

1、下载客户端源码

2、下载完成后导入IDEA

3、通过源码工程打包 

        fastdfs-client-java

这里方便操作直接点击左侧maven 的操作列表:

先clean, 再install(部署到本地仓库)

4、springboot 端引入fastdfs-client-java包

<dependency>
   <groupId>org.csource</groupId>
   <artifactId>fastdfs-client-java</artifactId>
   <version>1.29-SNAPSHOT</version>
</dependency>

 5、增加springboot的全局配置

fastdfs.tracker_servers = 192.168.1.103:22122

6、新增配置类

@Configuration
@Slf4j
public class FastDFSConfiguration {

    @Value("${fastdfs.tracker_servers}")
    private String trackerServers;


    @Bean
    public StorageClient storageClient(){
        try{
            Properties props = new Properties();
            props.put(ClientGlobal.PROP_KEY_TRACKER_SERVERS, trackerServers);
            ClientGlobal.initByProperties(props);

            // 链接FastDFS服务器,创建tracker和Stroage
            TrackerClient trackerClient = new TrackerClient();
            TrackerServer trackerServer = trackerClient.getTrackerServer();
            StorageServer storageServer=trackerClient.getStoreStorage(trackerServer);

            //定义Stroage客户端对象,需要使用这个对象来完成具体的文件上传,下载和删除操作
            StorageClient storageClient = new StorageClient(trackerServer,storageServer);
            return storageClient;
        }catch (Exception e){
            log.error("加载StorageClient 异常", e);
        }
        return null;
    }

}

7、增加上传文件接口


	@Autowired
	private StorageClient storageClient;

	/**
	 * 文件上传
	 */
	@RequestMapping(value = "fastUpload")
	@ResponseBody
	public String fastUpload(@RequestParam("head_img") MultipartFile file){
		String url = "";
		try {

			/**
			 * 文件上传 看对应的构造方法 去根据需要调用
			 * 参数1:需要上传的文件的绝对路径/或者字节流,
			 * 参数2:需要上传的文件的扩展名
			 * 参数3:文件的属性文件(通常不用上传)
			 * 返回一个String数组,这个数据对我们非常重要必须妥善保管(建议存入数据库)
			 * 数组中的一个元素为文件所在的组名
			 * 数组中的第二个元素为文件所在远程路径名
			 */
			String[] result = storageClient.upload_file(file.getBytes(), "jpg", null);
			url = result[0] + "/" + result[1];
		} catch (Exception e) {
			e.printStackTrace();
		}
		return url;
	}

8、启动springboot,使用postman 调用对应接口

 

9、nginx 的访问地址 + 这个返回的文件系统图片的地址,浏览器中直接访问: 

 http://192.168.1.103/group1/M00/00/00/wKgBZ2IRxgqABTXuABOvaq4BAxQ498.jpg

能够访问说明 接口上传成功

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐