首页 > 编程知识 正文

简单的文件上传下载服务器,nodejs文件上传服务器

时间:2023-05-03 06:37:15 阅读:11600 作者:1361

gxdxj wqdmt稳重的迷你裙

摘要:随着计算机技术的发展,网络资源文件的管理越来越受到重视。 对大容量文件传输的便利性、安全性和可靠性的要求也越来越高。 本文以目前流行的前端框架Bootstrap为基础,结合HTML5、jQuery技术、PHP等技术,设计了基于Web的大容量附件上传管理系统,前端附件上传详细介绍了断点重传、自动重传等实现技术,测试结果证明该系统能很好地满足大容量附件上传的需要。

关键词:文件上传; Bootstrap; 重新分发jQuery断点

中图分类编号: TP311文献识别码: a

文章编号: 1009-3044(2020 ) 01-0083-03

1概述

现代计算机技术发展迅速,网络资源文件的管理越来越受到重视。 因此,各种便于管理用户文件的互联网技术越来越盛行。 以百度网盘为例,百度网盘有桌面版和移动版,技术非常成熟,还提供了断点重新分发功能,但由于需要在基于TCP/IP协议传输大文件时建立连接的过程,因此用户的另一方面,下载功能的限速,如果用户没有启动百度网盘的会员服务,下载文件的互联网传输将限制在一个线程以内,最大传输速度约为128Kbyte秒,非常影响用户的体验。

为此,本文借鉴百度网盘的设计思想,实现了局域网版的网盘(大附件管理系统),供教师用于管理各类教学视频上传、学生提交的大作业等各类大容量文件,学生使用该系统该系统既可以访问桌面,也可以访问移动,为教师管理各种大型文件提供了web服务。

2系统总体设计

该系统采用Bs架构进行系统设计。 前端采用目前流行的jQuery前端框架Bootstrap,同时采用响应页面设计,交互简单方便; 在后台使用PHP和MySQL数据库管理文件数据。 整个系统分为Web客户端和Web服务器,在前台之间通过JsON进行数据通信。

系统的整体功能结构如图所示。

2.1前端文件上传插件

该模块的设计实现比较简单。 它依赖于服务端文件管理模块,提供断点的持续功能,包括链接到服务端文件管理页面的用户的登录和验证页面。

2.2服务端文件管理

文件管理模块是该系统的核心,由三个插件组成:文件表、文件树和文件编辑模块。 主要功能包括

1 )基于Web的文件资源浏览。

2 )在线打开和编辑基于Web的文件。

3 )基于HTYP协议的大文件传输。

4 )大文件传输断点的重新传输功能。

5 )文件和文件夹的基本操作,包括下载、删除、复制和移动。

6 )用户文件空间管理。

2.3数据库和文件服务器

本系统使用MySQL数据库,保存用户信息、上传文件的基本信息。 文件断点更新模块使用base54加密存储技术管理文件信息。

3关键技术实现

3.1断点持续实现基本思路

断点重新传递功能是文件安全上传的重要保障,要实现断点重新传递,可以使用前台表单上的input标记选择文件,也可以使用html 5文件API中新引入的FormData 服务器重命名文件并将其保存到临时目录中,然后在继续操作一段时间后将其删除。 另外,HTYP协议是无状态协议,用户无法与服务器保持长时间的连接,因此在实际开发过程中不能以Buffer的形式提交文件对象。

本系统采用以下方法。

1 )对获取的文件对象进行分割切片,将小块传输到服务器。 在后台PHP端采用APPEND方式将文件合并在一起。

2 )在上传文件之前执行初始化操作。 也就是说,通过向服务查询上传的文件大小来确定本轮分割的开始字节位置。

3 )每次上传完成时,都需要更新上传文件的大小记录,并在数据库中修改文件信息。

4 )最后需要Tag客户端和服务器文件,使每个文件块一一对应,防止a文件的一部分写入b文件。

3.2文件上传的FormData软件包格式

上载文件的过程可以概括为单击“选择文件”按钮启动文件框以打开事件,然后执行文件上载初始化操作。 这意味着向服务器查询断点信息,并将FormData封装的文件块发送到服务器。

使用将二进制文件对象封装为表单数据的FormData类,利用jQuery的Ajax将其上载到服务器端处理程序upload.php,并将pmcessDa-ta和contentType属性上载到false

3.3断点持续实现

根据HTYP的无状态特性,在文件片上传的同时注意到最大的传输单位为2Mbyte,本系统规定文件块的大小为1Mbyte,具体实现的Js代码如下。

在后台服务器端接收通过PHP上载的文件块的方法包括:

通过首先定义初始化函数并向服务查询上传的文件大小,确保

定本次应该分割的字节位置:

相应的,在服务器端也需要做初始化查询的脚本来配合前端完成功能:

4总结

为满足在校学生便捷的上交大容量作业,教师方便管理各类教学视频、学生上交的大作业等需求,本文研究并实现了一个基于web的大附件上传管理系统。基本满足目前工作需要。但该系统的文件管理采用了实体文件目录树形结构,因此在文件共享、大量文件移动等方面略显不足。在下一版本改进中,将考虑使用完全二叉树的形式保存目录结构,在查找算法上结合并查集进行快速递归,从而提高系统的性能。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。