/chunks-to-file

A nodejs chunking system

Primary LanguageJavaScriptMIT LicenseMIT

Chunks to File - NodeJs Application

Project Image
since 16 April,2024

A Node.js application for uploading file chunks and combining them into a single file on the server.

Speeding your application 5x Faster than the uploading you are currently using!.

Table of Contents

Introduction

In many scenarios, uploading large files to a server can be challenging due to limitations in file size or network conditions. This project provides a solution by allowing the client to split a large file into smaller chunks and upload them individually to the server. Once all chunks are received, the server combines them into a single file.

Click to see how it works:

Features

  • Split large files into smaller chunks for easier uploading.
  • Upload chunks to the server asynchronously.
  • Combine uploaded chunks into a single file on the server.
  • Accepts all types of files.
  • Simple and easy-to-use interface.

Simplified Pros Commentary:

JavaScript on front-end divides the user's selected file into smaller segments and transmits them simultaneously to the server through the /documents route. These segments are then stored in a temporary location known as temps folder on the server. Following successful storage, the browser prompts the server to aggregate these segments via the /combine route. Utilizing binary methods, the server adeptly merges the segmented data, On completion, file being will be securely stored within the uploads directory. So, all the broken pieces of data come together nicely to make one complete file on the server.

Preview:

image

Installation

To use this application, follow these steps:

  1. Clone the repository:

    git clone https://github.com/isaka-james/chunks-to-file.git
  2. Enter into the project folder:

    cd chunks-to-file
  3. Install the dependencies:

   npm install

Usage

  1. Start the server:

    npm start
  2. Open your web browser and navigate to http://localhost/.

  3. Select a file using the provided input field.

  4. Click the "Upload" button to initiate the upload process.

  5. The server will receive the file chunks and combine them into a single file inside the uploads folder.

Contributing

Contributions are welcome! If you find any issues or have suggestions for improvement, please open an issue or submit a pull request.

License

This project is licensed under the MIT License.


Feel free to customize the content and add more details specific to your project. If you have any questions or need further assistance, let me know!