With the popularity of video websites and big data applications, especially the advent of HIGH-DEFINITION video and 4K video applications, super-large file uploading has become a basic application requirement in daily life.

But in many cases, the platform operator is not a large file upload and breakpoint continuingly development experience, often on the Internet to find some simple PHP or Java program to implement the basic upload function, will find that in the actual use, however, the upload function module based on script language implementation performance is very weak, the content of the above one is not support 2 gb upload; Second, it cannot support breakpoint continuation; Third, the efficiency is very low, a single server supports up to dozens of concurrent upload connections.

At present, we want to build an operation-level video service platform, but we failed to meet the requirements after trying various products. Therefore, we finally made efforts to independently use C++ language to achieve this high-performance upload server.

Project Address:

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

Hyper Upload Server Hyper Upload Server

This is a super file upload server, using asynchronous I/O architecture, using C++ language coding. It supports over 4GB large file upload and resumable breakpoint, support Windows and Linux server platform, support any format file upload, especially suitable for large video website applications. A single server supports 1000 concurrent upload processes, and supports mainstream browsers on PCS and smart phones.

The main features

  1. The server uses asynchronous I/O erection design, with high performance I/O processing capacity, especially suitable for large file upload;

  2. Efficient memory allocation technology is adopted in the server to minimize the server memory overhead during operation.

  3. Completely using standard protocol implementation, so compatible with almost all PC and mobile browsers;

  4. The server side uses C++ language to independently achieve, the size of the uploaded file is unlimited, naturally support large file upload.

    However, the file upload service based on PHP, JAVA and other technologies cannot support large file upload naturally, and cannot exceed the maximum file size bottleneck of 2GB.

  5. The server adopts the buffered real-time write mode, so that the uploaded data can be written in one step. Different from PHP, JAVA and other technology implementation method requires two steps to write;

  6. The server side can be compiled and run cross-platform, supporting Windows and Linux platforms;

  7. High-performance, a single server supports 1000 concurrent upload processes;

  8. Upload large files of more than 4GB, file size is not limited;

  9. The client supports the HTTP standard protocol for uploading.

10. Support breakpoint continuation, disconnection, shutdown restart are not affected;

11. Support HTML5 browser real-time display of upload progress;

12. Support upload progress display in IE8 and above browsers;

13. You can view online client connections at http://ip:port/lists

14. Compatible with multiple browsers, including Chrome, Firefox, Safari, IE, Opera,Edge;

The installation

Step 1: Unzip the file to a hard disk directory, such as D :\UploadServer

Step 2: Modify the configuration file

D :\UploadServer\conf\config. XML, set the directory in the file, change all the directories pointed to by the dir= variable to the real directory on the disk, if not, create according to the configuration file;Copy the code

Step 3: Install the service

Run CMD to open the CLI and run the following command: d: <br/> CD UploadServer hyfileserver. exe -iCopy the code

Step 4: Start the service

Open your system's Service manager and find the Hyper Http Upload Service Service to start it.Copy the code

Step 5: Enter http://127.0.0.1:8080 in the browser to check whether the server is running properly

If the upload page is displayed normally, the installation is successful. Click one of the Upload File links to upload a file. If you want to access the upload server page on another host, replace 127.0.0.1 with the IP address of the installation server. If the external machine is not accessible, check the firewall Settings to see if the default port 8080 is enabled.Copy the code

Step 6: for more information about the UploadServer, see the d:\UploadServer\doc\ file UploadServer manual. PDF file.

– Perform the installation in Linux

./hyupdsrv

Execute if you want to act as a daemon

./hyupdsrv -d

Detailed configuration can refer me to write this article: blog.ncmem.com/wordpress/2… Welcome to join the group to discuss: 374992201