************* 文件分片断点续传基本原理: MS ********************
[ 文件分片上传,每一片大小固定的为1M ]
设计整体原理:
如果文件大于1M
1>页面JS获取文件文件后,把文件字节大小,文件名称发送给服务器{totalSize:1024,name:'文件名称'}
2>服务器对每个文件生成一个properties文件,其中文件的uuid作为Key,文件的上传状态作为value进行存储
服务器返回文件的唯一标识,断点位置,每片容量{fid:xxx,point:2048,sliceSize:1024,index:2},后续分片按照唯一标识的断点位置进行上传
3>上传完毕后,服务器合并文件,上传完毕.
服务器端原理:
1>服务器接收文件信息{totalSize:1024,name:'文件名称'},生成唯一uuid.
以uuid生成缓存目录,目录下再生成uuid.properties,其中存储FileSlice对象.如此可保证并发访问线程安全.
例如 C:\xxx\xxx.properties
2>服务器响应{fid:xxx,point:2048,sliceSize:1024},客户端开始分片上传
3>服务器每次接收到的每片文件都以第几片index命名
4>上传完毕后,服务器进行每片文件合并,并响应上传成功
客户端原理:
1>用户选中文件时,文件input标签@change事件把文件名称文件大小发送给服务器,服务器判断是否有上传断点,如果有则页面新增继续上次上传的续传按钮,如果没有断点则是正常上传.
1>点击上传文件按钮事件时,调用服务器startUpload方法准备上传文件,参数 文件名称,文件总大小
服务器响应文件唯一标志,及断点位置.准备开始分片上传.
2>
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
java+Spring Cloud Hoxton 版本实战项目.zip (190个子文件)
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
mvnw.cmd 6KB
element-ui.css 194KB
varela_round-webfont.eot 28KB
montserrat-webfont.eot 20KB
navbar.ftlh 5KB
status.ftlh 4KB
lastn.ftlh 3KB
header.ftlh 1KB
.gitignore 451B
.gitignore 451B
.gitignore 451B
.gitignore 451B
.gitignore 451B
.gitignore 451B
.gitignore 333B
.gitignore 333B
.gitignore 333B
.gitignore 333B
.gitignore 333B
axiosFileSliceUpload.html 9KB
down.html 912B
403.html 165B
favicon.ico 4KB
favicon.ico 4KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
maven-wrapper.jar 50KB
PropUtil.java 15KB
FileSliceUploadController.java 14KB
SysUtils.java 7KB
User.java 6KB
AuthorizationServerConfig.java 6KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
MavenWrapperDownloader.java 5KB
Roles.java 4KB
SpringSecurityConfig.java 4KB
RabbitmqConfig.java 4KB
Permission.java 4KB
PermissionController.java 4KB
SysUtils.java 3KB
VoidUtils.java 3KB
SliceUtil.java 2KB
UploadFile.java 2KB
EurekaCenterApplication.java 2KB
WebAppConfig.java 2KB
UploadFileServiceImpl.java 2KB
TestController.java 2KB
UploadFileService.java 2KB
CustomUserServiceImpl.java 2KB
WebServerAutoConfiguration.java 1KB
MyAccessDeniedHandler.java 1KB
FileSlice.java 1KB
SysPermission.java 1KB
CorsConfig.java 1KB
SysPermission.java 1KB
ResourceServerConfiguration.java 1KB
ConfigClientController.java 1KB
MyAuthenticationSuccessHandler.java 1KB
MyAuthenticationFailureHandler.java 1KB
IsEmptyUtils.java 1KB
PostGatewayFilterFactory.java 1KB
IsEmptyUtils.java 1KB
ConfigClientController.java 1KB
Permission.java 1KB
OauthCenterApplication.java 1KB
FamilyAdminApplication.java 1KB
RabbitmqApplicationTests.java 1KB
ResourceCenterApplication.java 1KB
RedisRateLimiterConfig.java 1001B
UserController.java 985B
RedisTokenStoreConfig.java 946B
ConfigCenterApplication.java 897B
PreGatewayFilterFactory.java 885B
ConsulCenterApplication.java 877B
AdminCenterApplication.java 871B
GateWayConfig.java 867B
RabbitmqCenterApplication.java 861B
Sender.java 827B
GatewayCenterApplication.java 821B
FilterConfig.java 797B
共 190 条
- 1
- 2
资源评论
GeekyGuru
- 粉丝: 1750
- 资源: 1099
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功