FastDFS+MultipartFile+angularJS文件上传

本文详细介绍了如何使用FastDFS分布式文件系统结合Spring MVC和AngularJS实现文件上传。首先概述了FastDFS的基本原理和系统架构,接着讲述了Spring MVC中使用CommonsMultipartResolver处理文件上传,最后探讨了AngularJS中文件上传的实现,包括设置Content-Type和transformRequest以正确发送multipart/form-data请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

总结一个文件上传的案例,使用到的主要技术有:

1. angularJS文件上传,
2. Spring MVC 多媒体解析器组件:CommonsMultipartResolver,
3. FastDFS分布式文件系统。

1.FastDFS分布式文件系统

概述

百度百科:一个开源的轻量级分布式文件系统,FastDFS为互联网量身定制,充分考虑了冗余备份、负载均衡、线性扩容等机制,并注重高可用、高性能等指标,使用FastDFS很容易搭建一套高性能的文件服务器集群提供文件上传、下载等服务。
用来存储文件的服务器,是用c语言编写的,我们看一下它的系统架构:
在这里插入图片描述
简单介绍一下:FastDFS 服务端包括 Tracker server 和 Storage server。客户端请求 Tracker server 进行文件上传、下载,通过 Tracker server 调度最终由 Storage server 完成文件上传和下载。
Tracker server 是用来管理调度Storage群的 ,Storage会定时向Tracker server发送报告(心跳检查),如果哪个没有发送,Tracker会认为这个Storage已经宕机,不会再调用它。所以实现了高可用性。
Storage也是一个分布式+集群的架构,所以访问时,要通过nginx反向代理访问。

文件上传流程
在这里插入图片描述
客户端上传文件后存储服务器将文件 ID 返回给客户端,此文件 ID 用于以后访问该文件的索引信息。

java客户端使用:

FastDFS 的安装一般是由运维工程师完成的,我们开发人员需要知道其ip地址。
写一个上传文件的demo:
1.导入依赖

	<dependency>
	    <groupId>org.csource.fastdfs</groupId>
	    <artifactId>fastdfs</artifactId>
	    <version>1.2</version>
	</dependency>

这个jar中央仓库没有,我们要自己上传到本地仓库
2.配置文件:

connect_timeout = 2
network_timeout = 30
charset = ISO8859-1
http.tracker_http_port = 8080
http.anti_steal_token = no
http.secret_key = FastDFS1234567890

tracker_server = IP地址:22122

将我们的FastDFS服务器ip地址填写进去,这个配置文件哪来的,安装好FastDFS后,它自带有一些启动脚本及配置文件,这个配置文件的目录是/etc/fdfs/client.co

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值