vue大文件(百M以上)的上传下载实现技术

news/2024/5/20 13:05:21 标签: 服务器, 运维

4GB以上超大文件上传和断点续传服务器的实现

随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。

但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基本的上传功能,然而在实际使用中会发现,这些基于脚本语言实现的上传功能模块性能很弱,一是不支持2GB以上的内容上传;二是无法支持断点续传;三是效率极低,单台服务器最多支持几十个并发上传连接。

当前我们要搭建一个运营级的视频服务平台,在尝试了各种产品均无法满足要求,因此最后花精力自主用C++语言实现了这一高性能上传服务器。 

项目地址:

http://git://10.168.4.241/up6/web/asp.net.git

Hyper Upload Server 超级上传服务器 

这是一款超级文件上传服务器,采用异步I/O架构,采用C++语言编码实现。它支持4GB以上超大文件上传和断点续传,支持Windows和Linux服务器平台,支持任意格式的文件上传,尤其适合大的视频网站应用。单台服务器支持1000并发上传进程,支持PC端和智能手机端主流的浏览器。 

主要特性

1. 服务器端采用异步I/O架设设计,具有高性能I/O处理能力,尤其适用于超大文件上传;

2. 服务器端采用高效内存分配技术确保在运行过程中服务器的内存开销最小化;

3. 完全采用标准协议实现,因此兼容几乎所有的PC端和移动端浏览器;

4. 服务器端采用C++语言自主实现,对上传文件的尺寸无限制,天生支持超大文件上传。

   而基于PHP、JAVA等技术实现的文件上传服务天生无法支持超大文件上传,无法逾越2GB的最大文件尺寸瓶颈;

5. 服务器端采用无缓冲即时写入方式,上传数据写入一步到位。不同于PHP、JAVA等技术实现方式需要两步写入;

6. 服务器端可跨平台编译运行,支持Windows和Linux平台;

7. 高性能,单台服务器支持1000个并发上传进程;

8. 支持4GB以上超大文件上传,文件大小不受限制;

9. 客户端支持采用HTTP标准协议上传;

10.支持断点续传,断网、关机重启均不受影响;

11.支持HTML5浏览器上传进度实时显示;

12.支持IE8及以上浏览器上传进度显示;

13.支持查看客户端在线连接, 查看方法: http://ip:port/lists

14.多浏览器兼容,包括Chrome,Firefox,Safari,IE,Opera,Edge; 

安装 

第一步:解压文件到一个硬盘目录,例如d:\UploadServer 

第二步:修改配置文件

         修改d:\UploadServer\conf\config.xml,文件里的目录设置,

         将所有 dir= 变量指向的目录修改为硬盘上的真实目录,如果没有就按配置文件创建;       

第三步:安装服务

      执行cmd打开命令行窗口按步骤输入以下命令:

      d:  <br/>

      cd UploadServer

      HYFileServer.exe -i  

第四步:启动服务

    打开系统的服务管理器,找到Hyper Http Upload Service服务启动它。

第五步:在浏览器里输入 http://127.0.0.1:8080 查看服务器运行是否正常

    如果上传页面正常显示说明安装成功

    点击其中一个上传文件链接 按钮来上传一个文件。

    如果要在其它主机上访问上传服务器页面,请将127.0.0.1用安装服务器的IP地址取代。

    如果外部机器还不能访问,请检查防火墙的设置,看一下默认的8080端口是否开启。

     

第六步:如果要进一步了解上传服务器,请查看 d:\UploadServer\doc\文件上传服务器使用手册.pdf 文件。

– Linux 下执行安装

./hyupdsrv

如果要作为守护进程,执行

./hyupdsrv -d 

详细配置可以参考我写的这篇文章:往服务器上传大文件 
欢迎入群一起讨论:374992201


http://www.niftyadmin.cn/n/1208930.html

相关文章

C++里TRUE和true DWORD和HWND区别

1.C里大写TRUE和小写true区别 true是bool型的&#xff1b; TRUE是int型的&#xff0c;VC里这个是ms自己定义的&#xff1b; C规定不允许只通过返回类型不同区别两个函数 2.而”DWORD"和“HWND"分别指什么&#xff1f; DWORD类型表示“双字”&#xff0c;也就是四…

obiz

obiz ofbiz 安装 1. 由 binary 安装: 由 binary 安装非常简单, 以下是安装方法: 下载ofbiz-2.0-beta1-complete.tar.gz, 注意不是ofbiz-2.0-beta1.tar.gz. tar xvzf ofbiz-2.0.beta1-complete.tar.gz cd tomcat/bin ./ofbiz.sh start galeon http://localhost:8080/webtools 2.…

cacti not graph

1、检查磁盘是否满了。2、检查时间。3、检查cacti用户是否可以登录mysql。4、查看cacti日志&#xff0c; /var/www/html/cacti/log/cacti.log5、查看大小&#xff0c;cacti.log文件达到2G&#xff0c;log不记录东西了&#xff0c;mv cacti.log cacti.log.old。service snmpd r…

利用MFC动态向AutoCAD的菜单栏添加菜单

利用MFC动态向AutoCAD的菜单栏添加菜单 菜单 it 分类&#xff1a;ObjectARX编程 前面我们介绍过在ObjectARX中通过Com接口向AutoCAD的菜单栏追加菜单&#xff0c;今天我们再提供另外的两种方法&#xff0c;利用Windows窗体的机制直接向AutoCAD主菜单上添加菜单。 &#xff08;…

mysql5.6初级使用方法学习第四天

Mysql数据类型整数型数据类型 tinyint 很小的整数 1个字节smallint 小的整数 2个字节mediumint 中等大小的整数 3个字节bigint 大整数 8个字节根据占用字节数可以求出每一种数据类型的取值范围 tinyint需要1个字节&am…

JavaScript大文件(百M以上)的上传下载实现技术

最近遇见一个需要上传超大大文件的需求&#xff0c;调研了七牛和腾讯云的切片分段上传功能&#xff0c;因此在此整理前端大文件上传相关功能的实现。 在某些业务中&#xff0c;大文件上传是一个比较重要的交互场景&#xff0c;如上传入库比较大的Excel表格数据、上传影音文件等…

RTL-SDR接收解调GSM下行信号

rtl-sdr airprobe wireshark , Kali Linux。详见优酷视频链接。转载于:https://blog.51cto.com/esafe/1547072

断点java-断点续传-大文件断点上传

在Web应用系统开发中&#xff0c;文件上传和下载功能是非常常用的功能&#xff0c;今天来讲一下JavaWeb中的文件上传和下载功能的实现。 先说下要求&#xff1a; PC端全平台支持&#xff0c;要求支持Windows,Mac,Linux 支持所有浏览器。 支持文件批量上传 支持文件夹上传&…