INNORIX
Transfer BuilderTransfer FinderDevelopersResourcesCustomers
Start Free
INNORIX

LET FILES
MOVE THEMSELVES

INNORIX provides enterprise file infrastructure for moving and automating files across every system and environment.
Trusted by more than 5,000 enterprise and government agencies.

START HERE

  • Build the Transfer You Need
  • Find the Transfer You Need

POPULAR TRANSFERS

  • Sync Team Folders
  • Send Large Files to Clients
  • Explore Files Across Systems
  • Migrate FTP, SFTP, SCP & rsync
  • Add Transfer to Any App
  • Add Web Upload & Download
  • Build AI & Data Workflows
  • Browse All Transfers→

DEVELOPERS

  • Developer Center
  • Examples
  • API Quickstart
  • Developer Guide
  • API Reference
  • GitHub

RESOURCES

  • Resource Center
  • Product Guide
  • Integrations
  • Deploy & Manage
  • Help Center

CUSTOMERS

  • Government
  • Public Sector
  • Manufacturing
  • Engineering
  • Finance
  • Distribution
  • IT/Telecom
  • Media
  • Healthcare
  • Education

PLANS

  • Pricing

COMPANY

About Us

OTHER INNORIX PRODUCT

Al.bert — Smart Traffic AI

GLOBAL OFFICES

  • New York, USA
  • Seoul, South Korea
  • Ho Chi Minh City, Vietnam
  • View Office Locations→

(C)2026 INNORIX. All rights reserved.

  • Security
  • Status
  • Terms
  • Privacy
  • Cookies
  1. Guide
  2. Add Large File Upload and Download to Your Website

Add Large File Upload and Download to Your Website

Add large-file upload and download to web applications with code generation, policies, completion handling, and operational controls.

IT EngineersDevelopers
  • Automating the End-to-End Workflow for AI Training Data and Model Files
  • Deploy AI Model Files to Multiple Edge Devices
  • Securely Importing and Exporting Files in Air-Gapped and Network-Segmented Environments
  • Simultaneously Distributing Approved Files to Multiple Locations
  • Transfer Files from Azure Blob to an On-Premises Server
  • Automatically Transferring DB Dumps, Backup, and Archive Files to Remote Storage
  • Centrally Collecting Files from Branches, Factories, and Edge Devices
  • Deploy CI/CD Build Artifacts to Multiple Servers
  • Move Files Between Different Cloud Storage Services
  • Transfer Files Between S3 Buckets in Different AWS Accounts
  • Provide Customer-Specific File Workspaces
  • Provide Customers with Large-File Download Links That Expire
  • Let Customers Upload Large Files Through a Browser
  • Send Large Files Directly to a Customer Workspace
  • Store Database Backup Files in Object Storage
  • Receive File Transfer Failure and Recovery Alerts in Datadog
  • Add File Transfer Capabilities to Web, App, and Business Systems
  • Run Validation, Conversion, and Follow-Up Tasks After File Arrival
  • Migrate Large Volumes of Files from NAS and File Servers to the Cloud
  • Convert FTP Batch Jobs to Managed File Flows
  • Transfer Directly from Google Cloud Storage to Amazon S3
  • Create a File Transfer Status Dashboard in Grafana
  • Automatically Verify File Integrity Using Hash Values
  • Automatically Transfer New Files to a Designated Destination
  • Send Result Files from Kubernetes to Object Storage
  • Automatically Transfer Large Files and Build Artifacts Outside Git
  • Automatically Deliver Files That Are Difficult to Manage with Git
  • Collect Logs and Diagnostic Files from Distributed Servers into a Central Location
  • Automatically Transfer Media Sources and Processing Results Step by Step
  • Scan Received Files with Microsoft Defender and Perform Follow-up Processing
  • Automate Multi-Step File Transfers in a Single Workflow
  • Automatically Transfer Media Sources and Processing Results Step by Step
  • Automatically Route Partner Files to Internal Business Systems
  • Exchange Files Regularly with Partners and Supply Chain Systems
  • Automating Recurring File Transfers Daily and Weekly
  • Automatically Resume File Transfers After a Network Interruption
  • Convert rsync Jobs to Managed File Flows
  • Schedule Recurring File Transfers
  • Distribute Software and Firmware to Multiple Devices and Review Results
  • Distributing Software Packages to Multiple Servers and Branches
  • Automatically Apply Team Folder Changes Across Multiple Devices
  • Automatically Reflect a Team Work Folder Across Multiple PCs
  • Find and Transfer Files Across Multiple Devices from One Place
  • Add Large File Upload and Download to Your Website

Get Started#

Basic Concept#

Upload and download files reliably from a web service

When a web service handles files such as documents, images, videos, and data, users need a way to select files in the browser and transfer them to the required location.

Web file transfer adds upload and download capabilities to a web service, allowing users to select files in the browser and transfer large files between business systems and storage locations.

For example, users can upload large video files through a web service and download result files for immediate use in their work.

![](23_1 1.png)

By connecting a web service to file transfer capabilities, users can select files from a familiar web interface while transfers are processed according to the configured transfer environment.

Transfer Flow#

Understand the process from file selection to transfer completion

Web file transfer follows a flow in which users select files, start the transfer, monitor progress, and use the completed files in the next step of their work.

① Select files

↓

② Prepare transfer

↓

③ Upload or download files

↓

④ Check transfer progress

↓

⑤ Complete transfer

↓

⑥ Use files

For uploads, files selected on the user's device are transferred to the specified business system or storage location.

For downloads, files prepared in the business system are transferred to the user's device for use in the required task.

This flow lets users select files in the web service, check transfer status, and immediately use completed files.

Workflow Changes#

Handle large file transfers faster and more reliably

When large files are handled through a web service, transfer times can increase depending on file size and network conditions.

By applying web file transfer capabilities, large files can be processed using transfer methods suited to the business environment, while users can monitor progress and results directly from the web interface.

Before and after implementation

Category Standard web file handling With web file transfer
File selection Select files in the web interface Select files in the web interface
Large files Configure the transfer environment based on file size Apply capabilities designed for large file transfer
Progress tracking Build functionality to monitor transfer progress View progress and status in the interface
File use Continue work after the transfer completes Connect completed files to the next task

Adding file transfer capabilities to a web service lets users move from file selection to completion confirmation within a single interface flow.

Business Teams#

Business teams focus on uploading and downloading the files they need directly from the web and using completed files immediately in their work.

File Upload#

Upload required files directly from the web

Users can select and upload files required for their work from the file transfer interface in the web service.

After selecting files, users can review the file names and sizes and start the transfer. The interface can also support selecting and uploading multiple files at once.

For example, when users upload large videos, design files, business data, or documents through the web service, those files can be accessed and used in the designated business system or workspace.

File Download#

Download required files directly from the web

Files provided through the web service can be downloaded to the environment where they are needed.

Users select the required items from the file list and start the download. The interface can also be configured to download multiple selected files together.

After the download completes, users can review the received files in their current work environment and use them in the next task.

Use case How files are used
Content work Review video and image files
Development Use installation files and deployment materials
Data work Use analysis data and result files
General work Review documents and business materials

Transfer Status#

Check files in progress and completed results

When files are uploaded or downloaded, users can monitor progress from the transfer interface.

Per-file progress and overall transfer status make it easy to distinguish files still being processed from files that have completed.

![](23_5 1.jpg)

Key items to check include:

  • File name

  • File size

  • Transfer progress

  • Transfer status

  • Completion result

After checking transfer status, users can continue their work using the completed files.

File Use#

Use transferred files immediately in the next task

Completed files can be used in the next stage of the relevant workflow.

For example, when a user uploads a large source file, a processing system can use the file for conversion or analysis. Once the result file is ready, the user can download it through the web service and continue with the next task.

File Upload
    ↓

Business System Processing
    ↓

Result File Ready
    ↓

File Download
    ↓

Continue Work

In this way, business teams can transfer files directly through the web service and connect completed files to both the current task and the next one.

IT Engineers#

IT engineers focus on connecting the web service to the file transfer environment, configuring transfer capabilities and policies, and operating transfer results.

Device Setup#

Connect the web service to file transfer devices

To configure web file transfer, connect the web service to the server or business system that will process the files.

The web application provides the file transfer interface, while connected servers and devices receive uploaded files or provide files for download.

The configuration can be expanded based on the business environment as follows.

Web Service
     │
     ▼
File Transfer
     │
  ┌───┴────┐
  ▼        ▼
Server   Storage
  │        │
  ▼        ▼
Processing  Workspace

Connecting the web service to the transfer environment lets you integrate file uploads and downloads with the file flow of your business systems.

Transfer Setup#

Configure uploads, downloads, file paths, and target locations

Configure the upload and download capabilities used by the web service, then set the file paths and target locations for transfers.

For uploads, specify where user-submitted files will be stored. For downloads, connect the location that contains files to be provided to users.

Key settings can be configured as follows.

Setting Use
Upload Transfer files from the web to the server
Download Transfer files from the server to the user's device
Source Path Location where files to be transferred are prepared
Target Path Location where transferred files are placed
File Filter Set conditions for files to transfer

Configuring file transfer paths connects the required file flow between the web service and business systems.

Transfer Policy#

Set transfer criteria and access scope for files and targets

After configuring transfer capabilities, define file handling criteria and access scope.

You can configure the file transfer flow by applying criteria required by the business environment, including file size, extension, transfer target, and storage path.

Key configuration areas include:

Configuration area Applied settings
File criteria Select file names, extensions, and transfer targets
Storage location Specify upload and download paths
Access scope Configure file access by user and system
Transfer conditions Set execution criteria for the business environment

Applying these criteria lets you manage the files and transfer environment used by the web service according to business requirements.

Workflow Integration#

Connect file transfers to the next step in the workflow

After a file transfer completes, you can connect subsequent tasks to create a single workflow.

For example, you can transfer an uploaded file to a processing server and run a conversion task, then prepare the result file in a designated workspace and notify the user when processing is complete.

The overall flow can be configured as follows.

Web Upload
    ↓

File Transfer
    ↓

Processing
    ↓

Result Storage
    ↓

Notification
    ↓

Web Download

Connecting external services lets you extend file transfer results into business and operational workflows.

Integration area How it is used
Business · Collaboration Notify users when file processing is complete
Work Management Create and manage follow-up tasks
Monitoring Review transfer status and operational information
Security Manage file processing environments and events

Verify Results#

Review executed transfers and processing results

When a file transfer runs from the web, you can review the processing results through Runs and execution history.

Operators can review the status of all transfer jobs and per-file processing results, and manage the operational status of the transfer environment.

Key items to review include:

Item Details
Transfer Upload or download job
Files Number of processed files
Size Total transfer size
Progress Current transfer progress
Status Job status
Started Start time
Completed Completion time

Unlike business teams, which check the current transfer status of individual files, IT engineers use execution history to manage entire transfer jobs and processing results by system.

Incident Response#

Review transfer status and rerun required tasks

When a transfer requires investigation, review the execution information and processing flow in Runs and Audit Log.

In the file transfer environment, you can investigate the transfer process by checking the connection status between the web service and server, file paths, access permissions, and target system status.

The review flow is as follows.

Review Transfer Job
    ↓

Check Execution Status
    ↓

Review Details
    ↓

Check Connection · Path · Permissions
    ↓

Adjust Environment
    ↓

Rerun Job
    ↓

Review New Run
Item What to check Follow-up action
Web service connection Transfer request and system connection status Check connection environment
File path Source and Target paths Check path settings
Access permissions File read and write scope Check permission settings
File status Information about files to transfer Check file status
Execution history Run and Audit Log Review processing flow

After completing the review, rerun the required transfer and use the new Run to verify the file processing result.

This structure separates the business team's flow for directly transferring and using files from the web from the IT engineer's flow for configuring and operating the web file transfer environment, providing information suited to each role.

Developers#

Connect transfer capabilities by pasting code generated by the Code Generator into a web page

Developers do not need to build the transfer control from scratch. Select the target device and folder in the management interface to generate code connected to that location, then paste the code into the web page and connect it to the existing business logic.

Generate Code#

Select a device folder and generate transfer code

In Devices, select the web server that will send or receive files and click Browse to open the file explorer.

In the explorer, select the target folder and click the Generate menu.

In the INNORIX Code Generator, select the transfer direction. When a folder is selected, upload is selected by default, and you can also select the download checkbox.

Selected item Available generated code
Folder Upload · Download
File Download only

When a file is selected, download is selected automatically. You can also select multiple files and generate download code for them at once.

Copy the code with Copy to Clipboard or save it using Download as File.

In this approach, you do not need to build a separate server-side script to receive uploads. The generated code connects directly to the selected folder on the selected device, and the agent on that device handles file receipt.

Generated Code Structure#

Review the structure of the generated code

The generated code consists of a control creation call and a render target.

html
<div id="file_control"></div>

<script>
  const config = create({
    TransferMode: 'upload',
    width: 800,
    height: 400,
    agent: 'false',
    custom: {
      product: 'webpages',
      subproduct: 'codegenerator'
    }
  });

  config.el = '#file_control';
</script>
Item Description
TransferMode upload or download
width · height Control display size
agent Whether to use the agent installation method
custom Values used to identify the request
el Element selector where the control is rendered

The target folder and device information are included in the generated code. Do not modify this section. To change the path, regenerate the code from the management interface instead of editing it directly.

The el value must match the element ID on the page. To place more than one control on a page, assign different element IDs and el values to each control.

Embed in a Web Page#

Paste the generated code into an existing page

Paste the copied code where you want the control to appear.

html
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Build File Upload</title>
    <link rel="stylesheet" href="./site.css">
    <script src="./innorix.js"></script>
</head>
<body>
    <h1>INNORIX Web-based Upload</h1>

    
    <div id="file_control"></div>

    <script>
      const config = create({
        TransferMode: 'upload',
        width: 800,
        height: 400,
        agent: 'false',
        custom: { product: 'webpages', subproduct: 'codegenerator' }
      });

      config.el = '#file_control';
    </script>
</body>
</html>

When the page opens, the control appears and users can add files and upload them directly to the specified folder.

When adding the control to an existing page, check two things: that the control resource script is included on the page, and that the element referenced by el actually exists.

Connect Download Code#

Add download code for folders and files

To generate folder download code, select a folder and enable the download checkbox.

To allow users to download only specific files, select the files in the explorer. Files can only be downloaded, so the transfer direction is selected automatically.

The generated code has the same structure as the upload code; only TransferMode is different.

html
<div id="download_control"></div>

<script>
  const downloadConfig = create({
    TransferMode: 'download',
    width: 800,
    height: 400,
    agent: 'false',
    custom: { product: 'webpages', subproduct: 'codegenerator' }
  });

  downloadConfig.el = '#download_control';
</script>

To provide both upload and download on the same page, generate the code twice and add each block separately. Make sure the element IDs and el values are different.

html
<div id="upload_control"></div>
<div id="download_control"></div>
Generated type Selected item Purpose
Upload Folder Interface for users to upload files
Folder download Folder Interface for downloading files from a folder
File download File (multiple selection supported) Interface for downloading only specified files

Pass Business Information#

Pass page input values with the transfer

Upload pages often include input fields in addition to files, such as the name or contact information of the person responsible.

Pass these values with the transfer through custom. Keep the fields already included in the generated code and add only the keys you need.

html
<input id="name" placeholder="John Doe">
<input id="contact" placeholder="+84 912 345 678">

<script>
  const config = create({
    TransferMode: 'upload',
    width: 800,
    height: 400,
    agent: 'false',
    custom: {
      product: 'webpages',
      subproduct: 'codegenerator'
    }
  });

  config.el = '#file_control';

  document.querySelector('#uploadBtn').addEventListener('click', function () {
    // Values entered on the page are sent along with the transfer
    config.custom.uploader = document.querySelector('#name').value;
    config.custom.contact = document.querySelector('#contact').value;
  });
</script>

Values stored in custom are recorded with the transfer history, so you can later identify which person uploaded the files.

These values are created in the browser. Do not use them to make authorization decisions. For information that must be reliably recorded, compare it against the server session before storing it.

Apply File Policies#

Limit the types and number of files accepted

Set limits for files accepted by the upload interface.

js
const config = create({
  TransferMode: 'upload',
  width: 800,
  height: 400,
  agent: 'false',
  allowType: ['tar', '7z', 'rar', 'zip'],
  maxFileCount: 1,
  maxFileSize: 10737418240,
  custom: { product: 'webpages', subproduct: 'codegenerator' }
});

config.el = '#file_control';
Option Type Description
allowType string[] List of allowed file extensions
denyType string[] List of blocked file extensions
maxFileCount number Maximum number of files that can be uploaded at once
maxFileSize number Maximum size of a single file, in bytes
maxTotalSize number Maximum total size, in bytes

The control guidance also changes based on the configured conditions, allowing users to see which files they can upload before selecting them.

Use allowType to define extension restrictions. With denyType, the list must be updated whenever new extensions need to be blocked.

These limits are intended to filter invalid files in the interface before upload. If a rule must always be enforced, configure it as part of the transfer policy in the IT Engineers section as well.

Completion Handling#

Connect transfer completion to business logic

By specifying callbacks in the generated configuration, you can detect when the control is ready and when the transfer completes.

js
const config = create({
  TransferMode: 'upload',
  width: 800,
  height: 400,
  agent: 'false',
  custom: { product: 'webpages', subproduct: 'codegenerator' },

  notifyReadyEvent: function () {
    // The control is ready; enable the submit button
    document.querySelector('#uploadBtn').disabled = false;
  },

  uploadCompletedEvent: function (result) {
    // Hand the finished upload over to the application
    fetch('/api/submissions', {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        uploader: document.querySelector('#name').value,
        files: result
      })
    });
  }
});

config.el = '#file_control';
Callback When it occurs
notifyReadyEvent Control is ready
uploadCompletedEvent Upload completes
downloadCompletedEvent Download completes
transferErrorEvent Transfer error occurs

It is best to keep the transfer button disabled until the control is ready. Enabling it in the ready callback prevents users from interacting with an empty control.

Completion callbacks run in the browser. If the user closes the window, the callback will not run. For long-running transfers, such as transfers of tens of GB, do not rely on this callback alone for completion records. Add a process to cross-check the transfer history described in the IT Engineers section.

Regenerate and Manage Code#

Update code when the target changes

The generated code contains device and folder information. In the following cases, regenerate the code from the management interface instead of editing the target information manually.

Situation Action
Target folder changes Select the new folder and regenerate
Target device changes Regenerate from the new device
Change from upload to download Change the direction and regenerate
Display size or file policy changes Edit only the options in the generated code

A practical rule is to regenerate when the direction or target changes, and edit the code when only display or policy options change.

If multiple pages use the same folder, moving the generated code into a shared file and loading it from each page can simplify maintenance. When the folder changes, you only need to update one place.

html
<script src="./innorix-upload.js"></script>
<div id="file_control"></div>
Item to check What to verify
Code generation Target device and folder, transfer direction
Embedding Control resources and render target element
Business information Input values passed through custom
Policy Allowed extensions and file count/size limits
Completion handling Business logic triggered by callbacks
Regeneration Update procedure when the target changes
PreviousFind and Transfer Files Across Multiple Devices from One Place

On this page

  • Get Started
  • Basic Concept
  • Transfer Flow
  • Workflow Changes
  • Business Teams
  • File Upload
  • File Download
  • Transfer Status
  • File Use
  • IT Engineers
  • Device Setup
  • Transfer Setup
  • Transfer Policy
  • Workflow Integration
  • Verify Results
  • Incident Response
  • Developers
  • Generate Code
  • Generated Code Structure
  • Embed in a Web Page
  • Connect Download Code
  • Pass Business Information
  • Apply File Policies
  • Completion Handling
  • Regenerate and Manage Code