• OVERVIEW
  • LICENSE
SUPPORT
GET A QUOTE
SIGN IN
Get a quote
What product quote do you want?
INNORIX Facial Recognition AI / Smart Traffic AI / Exabyter / Exchanger / WP / Exacoola / Smart IP Cameras /
AI products
Facial AI
Traffic AI
IP Camera
File transfer products
Exabyter
Exchanger
Next

SALES INQUIRY

Your inquiry has been received.
We will reply to you as soon as possible.

Ok
Ask a technical question
What product do you ask?
INNORIX Facial Recognition AI / Smart Traffic AI / Exabyter / Exchanger / WP / Exacoola / Smart IP Cameras /
AI products
Facial AI
Traffic AI
IP Camera
File transfer products
Exabyter
Exchanger
Next
SALES INQUIRY
TECHNICAL INQUIRY
PARTNER INQUIRY
GENERAL INQUIRY
GET A QUOTE
ASK A TECHNICAL QUESTION
TALK TO SALES TEAM
TALK TO TECHNICAL TEAM
DOWNLOAD BROCHURE
Please fill the form below. You will receive a brochure download link by email.
Request a demo
INNORIX Smart Traffic AI
Request a demo
INNORIX Facial AI
Request a free trial account Request a free trial version Request a brochure Request a quote Ask a technical question
INNORIX Facial Recognition AI Smart Traffic AI Exchanger WP Exabyter Smart IP Cameras
Your inquiry has been sent.
Ok
The code has been copied.
Ok
Do you want to close?
Yes
No, continue to fill
INNORIX uses cookies to ensure that we give you the best experience on our website.
If you continue we assume that you consent to receive all cookies on all pages
Yes
No
To continue, please enter your business email address.
Already have an account
Your download request has been sent.
Can't play video? Please watch from YouTube.

My profile

Email address
First name
Last name
Number
Company
Email address
First name
Last name
Number
Company

Change password

Current password
New password
8 or more characters
Upper & lowercase letters
At least one number

Strength

Confirm password

Profile has been modified successfully.

Account
Test storage
Free cloud storage for Exabyter testing. Upload files will not be actually saved in the storage. Downloads can be tested with the sample files.
Monitor & Track server
With the Monitor & Track, you can monitor all file transfer status in real-time and track the recorded transfer history.
GET A LICENSE KEY
Test license key issuance has been completed.
Please check your email.
Ok
DOWNLOAD PACKAGE
The package download request has been received
A download link will be sent to your email
null.
Ok

Talk to technical team

Domain address
Contents

Preferred way of support

Email

Email
Video call
Remote support
Messenger
Email address

Your preferred date and time

02:00 PM

00:00 AM
01:00 AM
02:00 AM
03:00 AM
04:00 AM
05:00 AM
06:00 AM
07:00 AM
08:00 AM
09:00 AM
10:00 AM
11:00 AM
12:00 PM
01:00 PM
02:00 PM
03:00 PM
04:00 PM
05:00 PM
06:00 PM
07:00 PM
08:00 PM
09:00 PM
10:00 PM
11:00 PM

Your preferred date and time

02:00 PM

00:00 AM
01:00 AM
02:00 AM
03:00 AM
04:00 AM
05:00 AM
06:00 AM
07:00 AM
08:00 AM
09:00 AM
10:00 AM
11:00 AM
12:00 PM
01:00 PM
02:00 PM
03:00 PM
04:00 PM
05:00 PM
06:00 PM
07:00 PM
08:00 PM
09:00 PM
10:00 PM
11:00 PM

What’s APP

What’s App
Facebook messenger
WeChat
LINE
Telegram
Send

Your inquiry has been received.
We will reply to you as soon as possible.

Ok

Online self check

Checking your Exabyter automatically, Enter the URL address and click “Start” button.

Domain address
Start

http://www.innorix.com/Exabyter/upload.html

Checking now (10/20)

Cancel

The self check is finished

http://www.innorix.com/Exabyter/upload.html Retry

Found 10 problems out of 20.

See report

Can not found innorix.js

Have no permission the save path

Check again

Can not found innorix.css

Check again
OK

Video call

Domain address
Contents

Your preferred date and time

02:00 PM

00:00 AM
01:00 AM
02:00 AM
03:00 AM
04:00 AM
05:00 AM
06:00 AM
07:00 AM
08:00 AM
09:00 AM
10:00 AM
11:00 AM
12:00 PM
01:00 PM
02:00 PM
03:00 PM
04:00 PM
05:00 PM
06:00 PM
07:00 PM
08:00 PM
09:00 PM
10:00 PM
11:00 PM
Send

Your inquiry has been received.
We will reply to you as soon as possible.

Ok

Remote support

Domain address
Contents

Your preferred date and time

02:00 PM

00:00 AM
01:00 AM
02:00 AM
03:00 AM
04:00 AM
05:00 AM
06:00 AM
07:00 AM
08:00 AM
09:00 AM
10:00 AM
11:00 AM
12:00 PM
01:00 PM
02:00 PM
03:00 PM
04:00 PM
05:00 PM
06:00 PM
07:00 PM
08:00 PM
09:00 PM
10:00 PM
11:00 PM
Send

Your inquiry has been received.
We will reply to you as soon as possible.

Ok

Messenger chat

Domain address
Contents

What’s APP

What’s App
Facebook messenger
WeChat
LINE
Telegram
Send

Your inquiry has been received.
We will reply to you as soon as possible.

Ok

Email inquiry

tech@innorix.com Copy to clipboard

OK

Online inquiry

Domain address
Contents
Email address
OK

Your inquiry has been received.
We will reply to you as soon as possible.

Ok
Do you want to close?
Yes
No, continue to fill
This link has been expired.
Move to sign in

Addresses

Website address

https://www.innorix.com

https:/www.exabyter.com

Monitor and track

https://mrt.innorix.com

License

var INNORIX_LICENSE = "804|235|342|217|20220428|20220528|161|" var INNORIX_SIGNATURE = "juw5cVZ7Q0NQG6SH4Aah+LaypSsA//9mRfXDYX/U8jHokh+jQ6oGic9hTUBsQGRy+SN0VpkqH6woasRNm+DYugYpTFZ8yQUFbyGbHKTO7s4ie5IV7/f+/61zotuECSnBditeMvw+y0pd5GefLB4e7gC7BkyDH8iop34Tec9xI84oFIcp2NpzqvQV98kGUiqUvvRy5Bx6p3jPcog0vmONoKpk0SFwk8uQp54u1d5M3/NSYsM0mgZMWP7ccvVSI+0X1w1DIjgytgnJA7cHNbTlEdwzso0yhNhlg58BLBfQnESbOoyP7llPXDJcNue0BoYP9cl/gbCpyWEfr48rkCKZAshdJ46k12SMGGWxlNd0jwjqbwuM24mgNSusfHnTXFzx262N4nyQNwvlqr7kWbMO4UTwYsX3JQHFJ3RxaJHBLO1yElqtH12HxMIJSTg/1HGcFMwCRfAuPOnF6jNahcErFiYy/5V4abJmoXRbdDXo89KHVyByYiQBL4OZ0pX7FWeJ" var INNORIX_KEY =

Copy to clipboard

My inquiry - B2341 4899 8734 WaitingWaitingCompleted

Type

Technical inquiry

Address

https://innorix.com

Contents

Preferred way of support

Remote control (12:00AM 17 May. 2022)

Core

System structure

Half package

Half package includes the front-end and back-end files for each language. The monitor & track will be hosted by INNORIX server in half package.

Full package

Full package includes the front-end, back-end files for each language, and the monitor & track server module. Full package is configured on-premise without any external connections.

Installation

Half package – Windows

Installation files

Front-end files

Name Type Description
/INNORIX/example/ Folder Example files folder
/INNORIX/image/ Folder Image files folder
/INNORIX/js/config.js Javascript Product configration
/INNORIX/js/innorix.js Javascript Product java script
/INNORIX/js/license.js Javascript Product license
/INNORIX/css/innorix.css CSS Product CSS
/INNORIX/css/innorix.element.css CSS Element CSS

Back-end files

Name Type Description
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar JAR Product library
/INNORIX/WEB-INF/lib/JSON-java.jar JAR Common library
/INNORIX/JSP/upload.jsp JSP Upload processing file
/INNORIX/JSP/download.jsp JSP Download processing file

Copy the installation files

1. Copy the front-end and back-end files.

2. Set the license key at license.js file.

var INNORIX_LICENSE = '956|919|126|80|20201120|……'
var INNORIX_SIGNATURE = 'oZ1oj7Ep0pRag8QrglupVW……'
var INNORIX_KEY = 'MIIBoDANBgkqhkiG9w0BAQEFAAOC……'
var INNORIX_AGENT = 'S5eVWHdQt8xBK5a4sVCfOU74NA……'
                    

Half package – Linux

Installation files

Front-end files

Name Type Description
/INNORIX/example/ Folder Example files folder
/INNORIX/image/ Folder Image files folder
/INNORIX/js/config.js Javascript Product configration
/INNORIX/js/innorix.js Javascript Product java script
/INNORIX/js/license.js Javascript Product license
/INNORIX/css/innorix.css CSS Product CSS
/INNORIX/css/innorix.element.css CSS Element CSS

Back-end files

Name Type Description
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar JAR Product library
/INNORIX/WEB-INF/lib/JSON-java.jar JAR Common library
/INNORIX/JSP/upload.jsp JSP Upload processing file
/INNORIX/JSP/download.jsp JSP Download processing file

Start to install

1. Copy the front-end and back-end files.

[/wwwroot/INNORIX] $ cp r /download/INNORIX/ /wwwroot/INNORIX/

2. Set the license key at license.js file.

Copied!
Copy
var INNORIX_LICENSE = '956|919|126|80|20201120|……'
var INNORIX_SIGNATURE = 'oZ1oj7Ep0pRag8QrglupVW……'
var INNORIX_KEY = 'MIIBoDANBgkqhkiG9w0BAQEFAAOC……'
var INNORIX_AGENT = 'S5eVWHdQt8xBK5a4sVCfOU74NAA5VtuJEo……'
                

Full package – Windows

Installation files

Front-end files

Name Type Description
/INNORIX/example/ Folder Example files folder
/INNORIX/image/ Folder Image files folder
/INNORIX/install/ Folder Plugin files folder
/INNORIX/js/config.js Javascript Product configration
/INNORIX/js/innorix.js Javascript Product java script
/INNORIX/js/license.js Javascript Product license
/INNORIX/css/innorix.css CSS Product CSS
/INNORIX/css/innorix.element.css CSS Element CSS

Back-end files

Name Type Description
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar JAR Product library
/INNORIX/WEB-INF/lib/JSON-java.jar JAR Common library
/INNORIX/JSP/upload.jsp JSP Upload processing file
/INNORIX/JSP/download.jsp JSP Download processing file

Start to install

1. Copy the front-end and back-end files.

2. Set the license key at license.js file.

Copied!
Copy
var INNORIX_LICENSE = '956|919|126|80|20201120|……'
var INNORIX_SIGNATURE = 'oZ1oj7Ep0pRag8QrglupVW……'
var INNORIX_KEY = 'MIIBoDANBgkqhkiG9w0BAQEFAAOC……'
var INNORIX_AGENT = 'S5eVWHdQt8xBK5a4sVCfOU74NAA5VtuJEo……'
                

Start to install the monitor & track

1. Excute the INNORIX Platform.exe file.

2. Register the HTTPS (SSL) certification files.

If the server uses HTTPS (SSL), click “Yes” to use SSL and register HTTPS (SSL) certificate file (.crt), key file (.pem), and ROOT certificate file (.crt).

If the key file is encrypted, attach the password string as .txt file. ROOT certificate is optional so register when it is needed.

The default port is 80 (HTTP)/443 (HTTPS) and the port can be changed in file below: C:\\INNORIX\\webapp\\config\\local.js

Copied!
Copy
…
    /*proxyHost: 'http://localhost:8080',
      proxyPort: '8080' */
    port: 80,
};
                

3. Start the INNORIX Platform.

After the installation is complete, double-click the INNORIX Server Start icon.

When the INNORIX Server Start is executed for the first time, the server is automatically registered in the Windows service and starts automatically after the Windows server reboots.

Double-click the INNORIX Server Console icon to access the console page and sign in as an administrator.

Default ID: admin, Password: innorix

Full package – Linux

Installation files

Front-end files

Name Type Description
/INNORIX/example/ Folder Example files folder
/INNORIX/image/ Folder Image files folder
/INNORIX/install/ Folder Plugin files folder
/INNORIX/js/config.js Javascript Product configration
/INNORIX/js/innorix.js Javascript Product java script
/INNORIX/js/license.js Javascript Product license
/INNORIX/css/innorix.css CSS Product CSS
/INNORIX/css/innorix.element.css CSS Element CSS

Back-end files

Name Type Description
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar JAR Product library
/INNORIX/WEB-INF/lib/JSON-java.jar JAR Common library
/INNORIX/JSP/upload.jsp JSP Upload processing file
/INNORIX/JSP/download.jsp JSP Download processing file

Start to install

1. Copy the front-end and back-end files.

[/wwwroot/INNORIX] $ cp r /download/exabyter/ /wwwroot/INNORIX/

2. Set the license key at license.js file.

Copied!
Copy
var INNORIX_LICENSE = '956|919|126|80|20201120|……'
var INNORIX_SIGNATURE = 'oZ1oj7Ep0pRag8QrglupVW……'
var INNORIX_KEY = 'MIIBoDANBgkqhkiG9w0BAQEFAAOC……'
var INNORIX_AGENT = 'S5eVWHdQt8xBK5a4sVCfOU74NAA5VtuJEo……'
                

Start to install the monitor & track

1. Excute the INNORIX Platform.bin file.

[/wwwroot/INNORIX] $ bash ./INNORIX-Platform.bin

2. Set the installation path and port number.

Default installation path: ROOT/opt/INNORIX/
Default port number: 80 (HTTP) / 443 (HTTPS)

[/wwwroot] $ cd /opt/INNORIX
[/wwwroot/opt/INNORIX/] $ cd /webapp/config/
[/wwwroot/opt/INNORIX/webapp/config] $ vi local.js
Copied!
Copy
…
    /* proxyHost: 'http://localhost:8080',
       proxyPort: '8080' */
    port: 80,
};
                

3. Setup the HTTPS (SSL) certification files.

If the server uses HTTPS (SSL), prepare the files of HTTPS (SSL) certificate file (.crt), key file (.pem), and ROOT certificate file (.crt).

Enter the path of the certificate files in the file below: /opt/INNORIX/webapp/config/local.js

Copied!
Copy
ssl: {
    ca: require('fs').readFileSync(_driname + './ssl/ssl_gd_bundle.crt'),
    key: require('fs').readFileSync(_driname + './ssl/ssl.key'),	
    cert: require('fs').readFileSync(_driname + './ssl/ssl.crt'),
},
                

4. Start monitor & track.

After the installation is complete, excute the INNORIX server.

When INNORIX server is executed for the first time, the server is automatically registered in the Linux service and starts automatically after the Linux server reboots.

[/INNORIX] $ /opt/INNORIX/innorixd start

Setup storage

Enter object storage connection information in the back-end files below:
/INNORIX/JSP/upload.jsp
/INNORIX/JSP/download.jsp

AWS S3

Copied!
Copy
String URI = "REST endpoint";
String REGION = "Region";
String ACCESS_KEY_ID = "Access key ID";
String SECRET_KEY = "Secret access key";
String BUCKET = "Bucket path";
                    
                

Microsoft Azure

Copied!
Copy
String endpointSuffix = "Endpoint suffix";
String storageAccount = "Account name";
String seceretAccessKey = "Account key";
                    
                

Dell/EMC

Copied!
Copy
String URI = "REST endpoint";
String ACCESS_KEY_ID = "Access key ID";
String SECRET_KEY = "Secret access key";
String BUCKET = "Bucket path";
                    
                

Other object storage

Copied!
Copy
String URI = "REST endpoint";
String REGION = "Region";
String ACCESS_KEY_ID = "Access key ID";
String SECRET_KEY = "Secret access key";
String BUCKET = "Bucket path";
                    
                

File system

Input Upload path

Enter the save path in upload.jsp.

Copied!
Copy
if (request.getMethod().equals("POST"))
{
    String directory = InnorixUpload.getServletAbsolutePath(request);
    directory = directory.substring(0, directory.lastIndexOf("/") + 1) + "data"; 
    …
                    
                

Install Exabyter plugin

If the Exabyter plug-in is not installed in the computer, the plugin download message will be displayed to the user.

The path of the plugin file can be changed in the install.html file.
Default plugin file path: /INNORIX/install/

Exabyter plugin for Windows

Installation file name INNORIX-Plugin.exe
Supported versions Windows: 7, 8, 8.1, 10, 11
Windows server: 2008, 2008 R2, 2012, 2012 R2, 2016, 2019

Exabyter plugin for macOS

Installation file name INNORIX-Plugin.pkg
Supported versions macOS: 10.11, 10.12, 10.13, 10.14, 10.15, 11.01

Exabyter plugin for Linux

Supported deb versions

Installation file name INNORIX-Plugin.deb
Supported versions Ubuntu: 18, 20
Debian: 9, 10

Supported rpm versions

Installation file name INNORIX-Plugin.rpm
Supported versions CentOS: 7, 8
Fedora: 22, 23, 24
Redhat: 7, 8
openSUSE: 15

Execute the downloaded Exabyter plugin file to install and then register the plugin to the Linux service.

[/INNORIX] $ su /opt/INNORIX-Plugin/innorixes start

Upload test

1. Access test page

Access the address below:
http(s)://web server address/INNORIX/example/upload.html

2. Start to upload

After you attach files and click the upload button, the transfer window will be displayed and the files will be uploaded.

Download test

1. Access test page

Access the address below:
http(s)://web server address/INNORIX/example/download.html

2. Start to download

After you select files and click the download button, the transfer window will be displayed and the files will be downloaded.

Basic

File box

Set transfer mode

Name Type Default Description
transferMode String both Set the file box transfer mode.
both: Upload and download in the same file box
upload: Only upload
download: Only download
Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        transferMode: "upload", /* "both"|"download"|"upload" */
        …
    }
}
            

Default settings for uploading

Set the upload processing file path at uploadURL.

Copied!
Copy
// upload.html 
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
        …
        uploadURL: "upload.jsp file path",
        …
    });
</script>
            

Default settings for downloading

Make the list of the download files at presetDownloadFiles.

Copied!
Copy
// download.html 
<script>
var box = new Object ();
window.onload = function () {
    box = innorix.create({
        el: '#fileBox',
        boxConfig: box_config.download_basic
    });

    box.presetDownloadFiles([{
        modificationTime: modifidate(Number), 
        printFileName: filename(String), 
        fileSize: filesize(Number), 
        downloadUrl: downloadUrl(String)
    }]);
};
</script>
                
            

File box UI

Box style

Set the file box style type.

Name Type Default Description
boxStyle String simple1 Set the file box style.
simple1: File type icon
simple2: Dot icons
simple3: Only file names
detail1: Simple1 + File types and modified dates
detail2: Simple2 + File types and modified dates
detail3: Simple3 + File types and modified dates

<simple1>

<simple2>

<simple3>

<detail1>

<detail2>

<detail3>

Size

Set the file box size.

Name Type Default Description
boxHeight Number, String 200 Set the file box height. (Number: Pixels, String: %)
boxWidth Number, String 200 Set the file box width. (Number: Pixels, String: %)

<box size>

File box policies

Attach policies

Set the maximum file size, the number of files and allowed file types.

Name Type Default Description
allowType StringArray Allow to attach only entered file types.
e.g [“jpg”, “gif”, “png”]
※ denyType is higher priority than allowType
allowType StringArray Deny to attach entered file types.
e.g ["exe", "msi", "cab"]
※ When specifying the same extension policy as allowType, denyType is applied first
addDuplicateFile Boolean true Allow to attach duplicate files.
maxFileCount Boolean Unlimited Set the maximum number of attachable files.
maxFileSize Boolean Unlimited Set the maximum size of one file. (bytes)
maxTotalSize Boolean Unlimited Set the total size of attachable files. (bytes)
Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        allowType: ["jpg", "gif", "png"],
        denyType: ["exe", "msi", "cab"], 
        addDuplicateFile: true,
        maxFileCount: 300,
        maxFileSize: 1024000,
        maxTotalSize: null,
        …
    }
}
            

Drag & Drop

Set the drag and drop whether to support or not.

Name Type Default Description
enableDropZone Boolean true Activate the drop zone in the file box.
Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        enableDropZone: true,
        …
    }
}
            

Context menu

Set the context menu whether to use or not.

Name Type Default Description
useContextMenu Boolean true Activate the context menu in the file box.

<Context menu>

File box events

Name loadComplete
Description After loading the file box.
Parameter Nonevoid
Name beforeAddFile
Description Before adding files in the file box.
Parameter # JSON Object
{
"basePath": Attached path(String),
"boxId": File box ID (String),
"filePath": Attached file full path (String),
"fileSize": File size(Number) / Byte,
"mode": Transfer mode (String),
"uploadUrl": Upload URL(String)
}
Name afterAddFiles
Description After adding files in the file box.
Parameter # JSON Object
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) /Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Name beforeRemoveFiles
Description Before removing files in the file box.
Parameter # JSON Object
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) /Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Name removeFiles
Description After removing file in the file box.
Parameter # JSON Object
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Name addFileError
Description When an error occurs while attaching files in the file box.
Parameter # JSON Object
[{
"basePath"D: Attached path (String),
"boxId": File box ID (String),
"filePath": Attached file full path (String),
"fileSize":2506093,
"mode":Transfer mode (String),
"uploadUrl":Upload URL (String),
},{
"message":"*.pdf file can not be attached.",
"*.ppt file can not be attached."
"The maximum limit of a single file is 1.00 MB."
"The maximum number of files is 1."
"The maximum limit of total files is 1.00 MB"
"The same file is already attached."
"type":"limitExtension"
"allowExtension"
"maxFileSize"
"maxFileCount"
"maxTotalSize"
"addDuplicateFile"
}]
Name onSelectRows
Description When a file is selected in the file box.
Parameter # JSON Object
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Name onUnSelectRows
Description When the selected file is unselected in the file box.
Parameter # JSON Object
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Name onDblClickRows
Description When double click a file in the file box.
Parameter # JSON Object
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Name dropzonShow
Description When drop zone is activated.

- It is supported in the plugin mode.

Parameter none
Name dropzoneHide
Description When drop zone is deactivated.

- It is supported in the plugin mode.

Parameter none

File box parameters

Name Type Default Description
el String Set the div tag id for the file box.
boxStyle String Simple1 Set the file box style.
simple1: File type icon
simple2: Dot icons
simple3: Only file names
detail1: Simple1 + File types and modified dates
detail2: Simple2 + File types and modified dates
detail3: Simple3 + File types and modified dates
boxHeight Number,
String
200 Set the file box height. (Number: Pixels, String: %)
boxWidth Number,
String
200 Set the file box width. (Number: Pixels, String: %)
transferMode String both Set the file box transfer mode.
both: Upload and download in the same file box
upload: Only upload
download: Only download
downloadType String stream Set download URL type.
direct: http(s)://abc.com/file.dat format
stream: http(s)://abc.com/down.jsp?fid=33 format
uploadURL String Set the upload processing file address.
enableDropZone Boolean true Activate the drop zone in the file box.
allowType StringArray Allow to attach only entered file types. e.g ["jpg", "gif", "png"] ※ denyType is higher priority than allowType
denyType StringArray Deny to attach entered file types. e.g ["exe", "msi", "cab"] ※ When specifying the same extension policy as allowType, denyType is applied irst
addDuplicateFile Boolean False Allow to attach duplicate files.
maxFileCount Number Unlimited Set the maximum number of attachable files.
maxFileSize Number Unlimited Set the maximum size of one file. (bytes)
maxTotalSize Number Unlimited Set the total size of attachable files. (bytes)

File box APIs

Name create()
Description Create the file box.
Return Type Nonevoid
Input parameter None
Name getTransferMode()
Description Get the transfer mode.
Return Type (String)
upload: Upload mode
download: Download mode
both: Upload and download mode
Input parameter None
Name setSize()
Description Set the file box size. (Pixels)
Return Type Nonevoid
Input parameter Width(Number), Height(Number)
Name presetDownloadFiles()
Description Create download file list in the file box.
Return Type Nonevoid
Input parameter # JSON Object
[{
printFileName: Displayed filename (String)
fileSize: File size (Number) / Byte
downloadUrl: Download URL (String)
},{
printFileName: Displayed filename (String)
fileSize: File size (Number) / Byte
downloadUrl: Download URL (String)
}]
Name addSelectFilesById()
Description Select the ID file in the file box.
Return Type Nonevoid
Input parameter (String)
Name removeFileByIndex()
Description Remove the item of the index number file in the file box.
Return Type Nonevoid
Input parameter (Number)
Name removeFileById()
Description Remove the item of the ID in the file box.
Return Type Nonevoid
Input parameter (String)
Name removeSelectedFiles()
Description Remove the selected files in the file box.
Return Type Nonevoid
Input parameter None
Name removeAllFiles()
Description Remove all files in the file box.
Return Type Nonevoid
Input parameter None
Name destroy()
Description Destory the file box.
Return Type Nonevoid
Input parameter None
Name getAllFiles()
Description Get information of all files in the file box.
Return Type # JSON Object - Upload file value
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}]
# JSON Object - Download file value
[{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Input parameter None
Name getSelectedFiles()
Description Get information of the selected files in the file box.
Return Type # JSON Object - Upload file value
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}]
# JSON Object - Download file value
[{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Input parameter None
Name getUploadFiles()
Description Get information of all upload files in the file box.
Return Type # JSON Object - Upload file value
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}]
Input parameter None
Name getDownloadFiles()
Description Get information of all download files in the file box.
Return Type # JSON Object - Download file value
[{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Input parameter None
Name getDownloadFiles()
Description Get information of all download files in the file box.
Return Type # JSON Object - Download file value
[{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Input parameter None
Name getFileCount()
Description Get the number of all files in the file box.
Return Type (Number)
Input parameter None
Name getSelectedFileCount()
Description Get the number of the selected files in the file box.
Return Type (Number)
Input parameter None
Name getUploadFileSize()
Description Get the total size of the upload files in the file box.
Return Type (Number)
Input parameter None
Name getDownloadFileSize()
Description Get the total size of the download files in the file box.
Return Type (Number)
Input parameter None
Name getTotalSize()
Description Get the total size of all files in the file box.
Return Type (Number)
Input parameter None
Name getFileByIndex()
Description Get information of the index file in the file box.
Return Type # JSON Object - Upload file value
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}]
# JSON Object - Download file value
[{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Input parameter (Number)
Name getFileById()
Description Get file information of the ID in the file box.
Return Type # JSON Object - Upload file value
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}]
# JSON Object - Download file value
[{
"downloadUrl ": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}]
Input parameter (String)

Transfer

Upload

1. Set the upload processing file path at uploadURL below:
/INNORIX/JSP/upload.jsp

Copied!
Copy
// upload.html
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
            …
        uploadURL: "./upload.jsp",
        …
    });
};
</script>
                
            

2. Use object storage

Name Type Default Description
isPresignedURL Boolean false Activate to use object storage.
Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        isPresignedUrl: true,
        …
    }
}                    
                
            

Enter object storage connection information in the back-end files below:
/INNORIX/JSP/upload.jsp

Copied!
Copy
/* upload.jsp */
<%@ page import="com.innorix.transfer.UploadInfoCallBack" %>
<%@ page import="java.io.*" %>

if (request.getMethod().equals("POST"))
{
    String URI = "REST endpoint";
    String REGION = "Region";
    String ACCESS_KEY_ID = "Access key ID";
    String SECRET_KEY = "Secret access key";
    String BUCKET = "Bucket path";

    String directory = "";
    int maxPostSize = 2147482624; /* bytes */
    …
}                    
                
            

3. Attach files

Support drag and drop.

Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        enableDropZone: true,
        …
    }
}
                
            

Put a file browse button.

Copied!
Copy
// upload.html
<input type="button" value="Browse" onclick="box.openFileDialog();"/>
                
            

4. Upload button

Copied!
Copy
// upload.html
<input type="button" value="upload" onclick="box.upload();" />
                
            

Download

1. Download type

Exabyter supports two ways, Stream and Direct downloads.

Stream

Stream downloads are used in most enterprise environments for the following cases:

1) Only logged in users can download the file.

2) The actual file path cannot be exposed for security reasons.

3) The actual file is in database as a BLOB.

4) The actual file path is not accessible from a web browser. (e.g. the actual file exists in /usr/local/mount.)

Copied!
Copy
// download.html
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
        el: '#fileBox',
        …
        downloadType: stream,
        …
    });

    box.on("loadComplete", function (p) {
        …
    box.presetDownloadFiles([ {
        downloadUrl: "http(s)://web server address/file.txt",
        printFileName: "The File AAA.txt",
        fileSize: 1433885

    },{
        …
    });
};
</script>
                
            
Copied!
Copy
/* download.jsp */
String fileID = request.getParameter("fileID");
String fileName = request.getParameter("fileName");
String sysFileName = new String();
String orgFileName = new String();

if (fileID != null) {
    if (fileID.equals("1")) {
        sysFileName = "file.txt"; 
        orgFileName = "The File AAA.txt"; 
    }
}

File file = new File(sysFileName);
                
            

Direct

It is the most basic way, just set the actual file URL directly.

Copied!
Copy
// download.html
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
        el: '#fileBox',
        …
        downloadType: direct,
        …
    });
    box.on("loadComplete", function (p) {
        …
    box.presetDownloadFiles([ {
        downloadUrl: "http(s)://web server address/file.txt",
        printFileName: "The File AAA.txt",
        fileSize: 1433885
    },{
        …
    });
};
</script>
                
            

2. Activate to use object storage

Name Type Default Description
isPresignedURL Boolean false Activate to use object storage.
Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        isPresignedUrl: true,
        …
    }
}
                
            

Enter object storage connection information in the back-end files below:
/INNORIX/JSP/download.jsp

Copied!
Copy
/* download.jsp */
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ page import="com.innorix.transfer.InnorixCustomError" %>
<%@ page import="com.innorix.transfer.InnorixTransfer" %>
<%@ page import="java.io.*" %>

<%@ page import="com.innorix.transfer.AwsS3" %>
<%@ page import="com.amazonaws.services.s3.model.S3Object" %>
<%
out.clear();
out = pageContext.pushBody();

String URI = "REST endpoint";
String REGION = "Region";
String ACCESS_KEY_ID = "Access key ID";
String SECRET_KEY = "Secret access key";
String BUCKET = "Bucket path";

String filePath = "test/";
String szPrintFileName = request.getParameter("_printFileName");
…
%>
                
            

3. Download buttons

Add a button to download all files.

Copied!
Copy
// download.html
<body>
    <div id="fileBox"></div><br />
    <input type="button" value="download" onclick="box.download();" />
</body>

                
            

Add a button to download selected files.

Copied!
Copy
// download.html
<body>
    <div id="fileBox"></div><br />
    <input type="button" value="download" onclick=" box.downloadSelectedFiles();" />
</body>            
                
            

Transfer window

Transfer window style

Set transfer window style.

Name Type Default Description
fileListWindowMode Boolean false Display the upload or download file list on the transfer window.
fileListWindowStatus Boolean false Display the status of each file transfer on the transfer window.
- It is supported in the plugin mode.
showGraph Boolean false Always display graph on the transfer window.
- It is supported in the plugin mode.

Default:

<Default>

Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        fileListWindowMode: false,
        fileListWindowStatus: false,
        …
    }
                
            

Default + file list:

<Default + File list>

Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        fileListWindowMode: true,
        fileListWindowStatus: false,
        …
    }
                
            

Default + file list + status:

<Default + File list + Status>

Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        fileListWindowMode: true,
        fileListWindowStatus: true,
        …
    }
                
            

Activate the graph:

<Activate the graph>

Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        showGraph: true,
        …
    }
                
            

Monitor & Track

The transfer status will be sent to the monitor & track server in real time.

Copied!
Copy
/* config.js */
var box_config = {
    example_box: {
        …
        monitorURL: 'http(s)://monitor server address/mt/transfer',
        …
    }
}
                
            

Transfer events

Name uploadStart
Description When the upload started.
Parameter # JSON Object
{
"files": Upload file info (Array)
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}],
"progress": Progress (Number) / %
"retries": Retry count (Number) / Times
"speed": Transfer speed(Number) /Byte/s
"state": Status (String)
"totalSize": Total size (Number) / Byte
"transferID": Transfer ID (String)
"transferSize": Transfer size (Number) / Byte
"type": Transfer mode (String)
}
Name uploadComplete
Description When the upload completed.
Parameter # JSON Object
{
"files": Upload file info (Array)
[{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
}],
"progress": Progress (Number) / %
"retries": Retry count (Number) / Times
"speed": Transfer speed(Number) /Byte/s
"state": Status (String)
"totalSize": Total size (Number) / Byte
"transferID": Transfer ID (String)
"transferSize": Transfer size (Number) / Byte
"type": Transfer mode (String)
}
Name uploadCancel
Description When the upload canceled.
Parameter
# JSON Object
{
"files": Upload file info (Array)
[{
"clientFileName": Displayed filename (String)
"clientFilePath": Attached file full path (String)
"boxId": File box ID (String)
"basePath": Attached path (String)
"customeValue": Customized value (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"fileState": Transfer status (String)
"isFolder": Folder information (Boolean)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"serverFileName": Save file name (sting)
"serverFilePath": Save folder path (String)
"uploadUrl": Upload URL (String)
}],                                                    
"progress": Progress (Number) / %
"retries": Retry count (Number)
"speed": Transfer speed(Number) /Byte/s
"state": Status (String)
"stausMessage": Status (Object)
"errorCode": Error code (Boolean/String)
"type": Transfer mode (String)
"id": Transfer status (String)
"totalSize": Total size (Number) / Byte
"transferID": Transfer ID (String)
"transferSize": Transfer size (Number) / Byte
}
Name uploadError
Description When an error occurs while uploading.
- It is supported in the plugin mode.
Parameter
# JSON Object
{
“files”: Upload file info (Array)
[{
"clientFileName": Displayed filename (String)
"clientFilePath": Attached file full path (String)
"boxId": File box ID (String)
"basePath": Attached path (String)
"customeValue": Customized value (String)
"fileSize": File size(Number) / Byte
"folderName: Folder name (String)
"fileState": Transfer status (String)
"isFolder": Folder information (Boolean)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"serverFileName": Save file name (sting)
"serverFilePath": Save folder path (String)
"uploadUrl": Upload URL (String)
}],
“progress”: Progress (Number) / %
“retries”: Retry count (Number)
“speed”: Transfer speed(Number) /Byte
“state”: Status (String)
“statusMessage”: Status (Object)
{
errorCode: Error code (String)
id: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadStart
Description When the download started.
Parameter
# JSON Object
{
"files": Download file info (Array)
[{ 
"downloadUrl": Download URL (String)
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}],
"progress": Progress (Number) / %
"retries": Retry count (Number) / Times
"speed": Transfer speed(Number) /Byte/s
"state": Status (String)
"totalSize": Total size (Number) / Byte
"transferID": Transfer ID (String)
"transferSize": Transfer size (Number) / Byte
"type": Transfer mode (String)
}
Name downloadComplete
Description When the download completed.
- It is supported in the plugin mode.
Parameter
# JSON Object
{
“files”: Download file info (Array)
[{
"boxId": File box ID (String)
"fileName": Download file name (String)
"filePath": Save folder path (String)
"fileState": Transfer status (String)
"fileURL": Download URL (String)
"isFolder": Folder information (Boolean)
"origFileSize": Original file size(Number) / Byte
"rowID": File row index ID (String)
"saveFileSize": Save file size (Number) / Byte
},]
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”: Status (Object)
{ 
“errorCode”: Error code (Boolean/String)
“id”: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadCancel
Description When the download canceled.
- It is supported in the plugin mode.
Parameter
# JSON Object
{
“files”: Download file info (Array)
[{
"boxId": File box ID (String)
"fileName": Download file name (String)
"filePath": Save folder path (String)
"fileState": Transfer status (String)
"fileURL": Download URL (String)
"isFolder": Folder information (Boolean)
"origFileSize": Original file size(Number) / Byte
"rowID": File row index ID (String)
"saveFileSize": Save file size (Number) / Byte
},]
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”: Status (Object)
{ 
“errorCode”: Error code (Boolean/String)
“id”: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadError
Description When an error occurs while downloading.
- It is supported in the plugin mode.
Parameter
# JSON Object
{
“files”: Download file info (Array)
[{
"boxId": File box ID (String)
"fileName": Download file name (String)
"filePath": Save folder path (String)
"fileState": Transfer status (String)
"fileURL": Download URL (String)
"isFolder": Folder information (Boolean)
"origFileSize": Original file size(Number) / Byte
"rowID": File row index ID (String)
"saveFileSize": Save file size (Number) / Byte
}],
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”: Status (Object)
{ 
“errorCode”: Error code (Boolean/String)
“id”: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}

REFERENCE

Parameters

File box

Name Types Default Description
el String Set the div tag id for the file box.
boxStyle String simple1 Set the file box style.
simple1: File type icon
simple2: Dot icons
simple3: Only file names
detail1: Simple1 + File types and modified dates
detail2: Simple2 + File types and modified dates
detail3: Simple3 + File types and modified dates
boxHeight Number 200 Set the file box height (pixels)
boxWidth Number 200 Set the file box width (pixel)
useContextMenu Boolean true Activate the context menu in the file box
enableDropZone Boolean true Activate the drop zone in the file box
maxMassFileListCount Number 1000 Set the maximum number of files in the standard file box UI.
When this number is exceeded, the file box UI switches to the mass file attach mode.
folderAttach Boolean false Activate the folder transfer feature.

- It is supported in the plugin mode.

showPreviewImage Boolean false Preview the selected image file in the file box.

- It is supported in the plugin mode.

File transfer

Name Types Default Description
uploadURL String Set the upload processing file address.
transferMode String both Set the file box transfer mode.
both : Upload and download in the same file box
upload : Only upload
download : Only download
transferStart JSON Text “upload”:”auto”, “download”: “manual” Activate to start transferring automatically
e.g { “upload”:”auto”, “download”: “manual” }
auto: Start transferring, when the transfer window displays
manual: User needs to click start button in the transfer window
downloadType String stream Set download URL type
direct: http://abc.com/file.dat format
stream: http://abc.com/down.jsp?fid=33 format
isPresignedURL Boolean false Use object storage.
attachIncompleteFiles Boolean true Automatically attach the files that failed upload automatically.

- It is supported in the plugin mode.

downloadDuplicate String Resume Duplicated file policy when downloading.
overwrite : overwrite
resume : resume
numbering : auto numbering rename
confirm : user check confirm

- It is supported in the plugin mode.

uploadDuplicate Boolean true Duplicated file policy when uploading.
true : resume
false : overwrite

- It is supported in the plugin mode.

highSpeedMode Boolean true Activate the high speed transfer mode.

- It is supported in the plugin mode.

limitRate Number Set the limitation of the file transfer speed. (Kbyte)

- It is supported in the plugin mode.

useProxy Boolean false Use proxy mode.

- It is supported in the plugin mode.

useSSL Boolean false Use HTTPS mode.

- It is supported in the plugin mode.

savePath String Set the default save path
e.g "c:\\download"

- It is supported in the plugin mode.

sendDownloadTime Boolean false Send the download start and complete time from the front end to the download processing file.

- It is supported in the plugin mode.

skipDownloadCheck Boolean false Verify whether the file actually exists and the size.

- It is supported in the plugin mode.

useEncrypt Boolean false Encrypt and decrypt the files while transferring.

- It is supported in the plugin mode.

useEncryptMeta Boolean false Encrypt the meta information while transferring.

- It is supported in the plugin mode.

initStatusCheck Boolean false Check the server status before transferring.

- It is supported in the plugin mode.

integrity String Check the integrity while uploading.
both: Check files and blocks.
file: Check files
block: Check blocks

- It is supported in the plugin mode.

downloadIntegrityFile Boolean false Check the integrity of the files while downloading.

- It is supported in the plugin mode.

downloadIntegrity Boolean false Check the integrity of the file `s blocks while downloading.

- It is supported in the plugin mode.

Error Handling

Name Types Default Description
autoRecovery Boolean true When error occurs, resume transferring automatically.

- It is supported in the plugin mode.

maxErrorCount Number unlimited Set the maximum number of errors without user intervention. If it is ‘10’, when errors occur 11 times, the transfer will stop.

- It is supported in the plugin mode.

maxRetryCount Number unlimited Set the maximum number of retries when 1 error occurs. If it is ‘3’, when an error occurs, it will retry for 3 times.

- It is supported in the plugin mode.

retryInterval Number 3 Set the interval (second) of retries when 1 retries. If it is ‘3’, when an error occurs, it will retry every 3 seconds.

- It is supported in the plugin mode.

skipErrorFile Boolean false Transfer all files except the error files while transferring.

- It is supported in the plugin mode.

Transfer window

Name Types Default Description
showTransferWindow Boolean true Display the transfer window.
draggableTransferWindow Boolean true Allow to drag the transfer window.
transferWindowTitle String Exabyter Set the transfer window title.
showByteSize Boolean false Set the file size unit to Byte.
iframeOutside Boolean true When the file box is in iframe, the transfer window will be displayed outside of the iframe.
iframeOutsideCssURL String Set the CSS URL (innorix.css) for the parent frame.
iframeOutsideLeft Number Set the transfer window location from the left. (pixel)
iframeOutsideTop Number Set the transfer window location from the top. (pixel)
iframeOutsideLocation String top: Display the transfer window in the most top frame.
parent: Display the transfer window in the layer that is 1 level upper from the file box frame.
iframeOutsideMarginLeft Number Set the transfer windows margin from the left. (pixel)
iframeOutsideMarginTop Number Set the transfer windows margin from the top. (pixel)
fileListWindowMode Boolean false Display the upload or download file list on the transfer window.
fileListWindowStatus Boolean false Display the status of each file transfer on the transfer window.

- It is supported in the plugin mode.

fileListWindowSetPath Boolean false Allow to choose the save path on the download transfer window.

- It is supported in the plugin mode.

fileListWindowDuplicate Boolean false Display the duplicate file options on the download transfer window.

- It is supported in the plugin mode.

cancelComfirmation Boolean false When canceling, display a confirmation dialog.

- It is supported in the plugin mode.

Plugin

Name Types Default Description
html5 Boolean true true: Use HTML5 mode
false: Use Agent mode
installURL String Set the agent installation guide URL.
e.g. installUrl: ‘install/install.html’

- It is supported in the plugin mode.

autoHtml5Mode Boolean false When the agent is not installed, it will use HTML5 mode.
If it is ‘true’, installation page will not be displayed.

- It is supported in the plugin mode.

pluginVersionCheck Boolean false Check the plugin version.

- It is supported in the plugin mode.

pluginInstallCheck Boolean true Check whether the plugin is installated and the version.

- It is supported in the plugin mode.

installPopup Boolean false Display Install.html in a popup window.

- It is supported in the plugin mode.

installPopupHeight Number Set the popup window height. (pixel)

- It is supported in the plugin mode.

installPopupWidth Number Set the pop-up window width. (pixel)

- It is supported in the plugin mode.

installPopupLeft Number Set the popup window location from the left. (pixel)

- It is supported in the plugin mode.

installPopupTop Number Set the popup window location from the top. (pixel)

- It is supported in the plugin mode.

Attachment

Name Types Default Description
allowType StringArray Allow to attach only entered file types e.g ["jpg", "gif", "png"]

※ limitExtension is higher priority than allowExtension

denyType StringArray Deny to attach entered file types e.g ["exe", "msi", "cab"]

※ When specifying the same extension policy as allowExtension, LimitExtension is applied first

useSignature Boolean false Compare the file header and extension.
addDuplicateFile Boolean false Allow to attach duplicate files.
maxFileCount Number unlimited Set the maximum number of attachable files.
maxFileSize Number unlimited Set the maximum size of one file. (bytes)
maxTotalSize Number unlimited Set the total size of attachable files. (bytes)

Monitor & Track

Name Types Default Description
monitorURL String Set the monitor and track server address. (INNROIX Platform server)
e.g. “http://test.innorix.com/mt/transfer”

API Methods

Front-end API

Dialog

Name openFileDialog()
Description Open the multi file dialog.
Return type Nonevoid
Input
parameter
None
Name openFileDialogSingle()
Description Open the single file dialog.
Return type Nonevoid
Input
parameter
None
Name openFolderDialog()
Description Open the folder dialog.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
None

File box

Name create()
Description Create file box.
Return type Nonevoid
Input
parameter
None
Name setSize()
Description Set the file box size. (Pixels, %)
Return type Nonevoid
Input
parameter
Width(Number), Height(Number)
Name setDropzone()
Description Set the file drop zone.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
innoJqueryevt
Name getTransferMode()
Description Get the transfer mode.
Return type (String)
upload: Upload mode
download: Download mode
both: Upload and download mode
Input
parameter
innoJqueryevt
Name presetDownloadFiles()
Description Nonevoid
Return type Create download file list in the file box.
Input
parameter
# JSON Object
[
{
printFileName: "red.pdf ",// Displayed filename (String)
fileSize: 1433885,// File size (Number) / Byte
downloadUrl: “http://YourServerAddress/download.jsp?fileID=111”// Download URL (String)
},
{
printFileName: "blue.pdf",// Displayed filename (String)
fileSize: 1433885, // File size (Number) / Byte
downloadUrl: "http://YourServerAddress/download.jsp?fileID=222"// Download URL (String)
}
]
Name addSelectFilesById()
Description Select the ID file in the file box.
Return type Nonevoid
Input
parameter
(String)
Name removeFileByIndex()
Description Remove the item of the index number file in the file box.
Return type Nonevoid
Input
parameter
(Number)
Name removeFileById()
Description Remove the item of the ID in the file box.
Return type Nonevoid
Input
parameter
(String)
Name removeSelectedFiles()
Description Remove the selected files in the file box.
Return type Nonevoid
Input
parameter
None
Name removeAllFiles()
Description Remove all files in the file box.
Return type Nonevoid
Input
parameter
None
Name destory()
Description Destory the file box.
Return type Nonevoid
Input
parameter
None

File information

Name getAllFiles()
Description Get information of all files in the file box.
Return type
# JSON Object - Upload file value
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},
]

# JSON Object – Download file value
[
{
"downloadUrl": Download URL (String) 
"fileSize": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Input
parameter
None
Name getSelectedFiles()
Description Get information of the selected files in the file box.
Return type
# JSON Object - Upload file value
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},
]

# JSON Object – Download file value
[
{
"downloadUrl": Download URL (String) 
"fileSize": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Input
parameter
None
Name getUploadFiles()
Description Get information of all upload files in the file box.
Return type
# JSON Object
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},
]
Input
parameter
None
Name getDownloadFiles()
Description Get information of all download files in the file box.
Return type
# JSON Object – Download file value
[
{
    "downloadUrl ": Download URL (String) 
    "fileSize ": File size (Number) / Byte
    "id": File ID (String)
    "mode": Transfer mode (String)
    "printFileName": Displayed filename (String)
    "rowID": File row index ID (String)
    "selected": Selected or not (Boolean)
    "sliceSize": File slice size (Number) / Byte
    "transferType": Transfer mode (String)
    "validate": Validate the file (Boolean)
}
]
Input
parameter
None
Name getFileCount()
Description Get the number of all files in the file box.
Return type (Number)
Input
parameter
None
Name getSelectedFileCount()
Description Get the number of the selected files in the file box.
Return type (Number)
Input
parameter
None
Name getUploadFileSize()
Description Get the total size of the upload files in the file box.
Return type (Number)
Input
parameter
None
Name getDownloadFileSize()
Description Get the total size of the download files in the file box.
Return type (Number)
Input
parameter
None
Name getTotalSize()
Description Get the total size of all files in the file box.
Return type (Number)
Input
parameter
None
Name getFileByIndex()
Description Get information of the index file in the file box.
Return type
# JSON Object - Upload file value
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},
]

# JSON Object – Download file value
[
{
"downloadUrl": Download URL (String) 
"fileSize": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Input
parameter
(Number)
Name getFileById()
Description Get information of the ID file in the file box.
Return type
# JSON Object - Upload file value 
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Full path of the attached file (String)
"fileSize": File size (Number) / Byte
"folderName: Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},
]

# JSON Object – Download file value
[
{
"downloadUrl": Download URL (String) 
"fileSize": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": File slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Input
parameter
(String)

Transfer

Name upload()
Description Upload all files in the file box.
Return type Nonevoid
Input
parameter
None
Name uploadCancel()
Description Cancel uploading.
Return type Nonevoid
Input
parameter
None
Name excute()
Description Execute an attached file in a file box.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
(String)
Name download()
Description Download all files in the file box.
Return type Nonevoid
Input
parameter
None
Name downloadSelectedFiles()
Description Download the selected files in the file box.
Return type Nonevoid
Input
parameter
None
Name downloadAndOpen()
Description Download and open a selected file.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
None
Name setDownloadPath()
Description A user can choose the save path before the transfer window is displayed.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
None
Name setPostData()
Description Create customized post data.
Return type Nonevoid
Input
parameter
# JSON Object
{
Name : Value,
Name : Value,
}
Name setFilePostDataByIndex()
Description Create customized post data by index.
Return type Nonevoid
Input
parameter
# JSON Object
Index(Number),
{
Name : Value,
Name : Value,
}
Name setCookie()
Description Keep the web session information.
Return type Nonevoid
Input
parameter
(String)
the example to keep session information after loading the file box
box.on('loadComplete', function (p) {
box.setCookie("JSESSIONID=<%=session.getId()%>");
}…
Name appendThumbnailProperty()
Description When uploading images, their resized images are created and uploaded together. (jpg, png, gif, bmp)
Return type Nonevoid
Input
parameter
# JSON Object
Index(String), Width(Number), Height(Number), Baseline(STRING)
box.appendThumbnailProperty(1, 300, 200, “VERTICAL”);
box.appendThumbnailProperty(“ALL”, 300, 200, “HORIZONTAL”);
box.appendThumbnailProperty(“ALL”, 300, 200, “FIX”);
Name appendWatermarkProperty()
Description When uploading images, add a watermark on the original and resized images and upload them. (jpg, png, gif, bmp)
Return type Nonevoid
Input
parameter
# JSON Object Index(String), imageUrl(String), Image type(String), Position(String)

box.appendWatermarkProperty("ALL", "./logo.png", "ALL", "LEFT|BOTTOM")
box.appendWatermarkProperty("1", "./logo.png", "ORIGINAL", "RIGHT|TOP")
box.appendWatermarkProperty("1", "./logo.png", "THUMBNAIL", "CENTER|CENTER")

Transfer window

Name closeTransferWindow
Description Close the transfer window.
Return type Nonevoid
Input
parameter
Nonevoid

Back-end API

Upload

Name setOverwrite()
Description Overwrite when there are duplicate files.
Return type Nonevoid
Input
parameter
Boolean) – true, false
Name run()
Description Start uploading.
Return type Nonevoid
Input
parameter
Nonevoid
Name setFileName()
Description Rename the uploaded files in the server.
Return type Nonevoid
Input
parameter
String
Name setDirectory()
Description Set the save path in the server.
Return type Nonevoid
Input
parameter
String
Name setAutoDecryption()
Description Decrypt when the uploaded files are encrypted.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
(Boolean) – true, false
Name setCustomError()
Description Create a custom error.

- It is supported in the plugin mode.

Return type Nonevoid
Input
parameter
InnorixCustomError.set(error Code, error Message, error Title, retry);
Name setCustomValue()
Description Set custom value.
Return type Nonevoid
Input
parameter
InnorixCustomValue.set(parameter, value);

Events

Front-end events

File box

Name loadComplete
Description After loading the file box.
Parameter Nonevoid
Name beforeAddFile
Description Before adding files in the file box.
Parameter
# JSON Object    
{
“basePath": Attached path(String)
“boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"mode": Transfer mode (String)
"uploadUrl": Upload URL(String)
}
                            
Name afterAddFiles
Description After adding files in the file box.
Parameter
# JSON Object 
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},   
{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size(Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Name beforeRemoveFiles
Description Before removing files in the file box.
Parameter
# JSON Object
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},   
{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Name removeFiles
Description After removing file in the file box.
Parameter
# JSON Object    
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},   
{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Name addFileError
Description When an error occurs while attaching files in the file box.
Parameter
# JSON Object    
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"mode": Transfer mode (String)
"uploadUrl": Upload URL (String)
}
"message":"*.pdf file can not be attached.", 	// Error info (String)
"*.ppt file can not be attached."
"The maximum limit of a single file is 1.00 MB."
"The maximum number of files is 1."
"The maximum limit of total files is 1.00 MB"
"The same file is already attached."
"type":"limitExtension"				// Error type (String)
"allowExtension"
"maxFileSize"
"maxFileCount"
"maxTotalSize"
"addDuplicateFile"
]
Name onSelectRows
Description When a file is selected in the file box.
Parameter
# JSON Object    
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},   
{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Name onUnSelectRows
Description When the selected file is unselected in the file box.
Parameter
# JSON Object    
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},   
{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Name onDblClickRows
Description When double click a file in the file box.
Parameter
# JSON Object    
[
{
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},   
{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
}
]
Name dropzoneShow
Description When drop zone is activated.

- It is supported in the plugin mode.

Parameter
Name dropzoneHide
Description When drop zone is deactivated.

- It is supported in the plugin mode.

Parameter

Transfer

Name uploadStart
Description When the upload started.
Parameter
# JSON Object     
{
“files”:[ {	
"basePath": Attached path (String)
"boxId": File box ID (String)
"filePath": Attached file full path (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"transferType": Transfer mode (String)
"uniqueFileName": Unique file name (String)
"uploadUrl": Upload URL (String)
},
]
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name uploadComplete
Description When the upload completed.
Parameter
# JSON Object      
{
“files”:[ {	
"clientFileName": Displayed filename (String)
"clientFilePath": Attached file full path (String)
"boxId": File box ID (String)
"basePath": Attached path (String)
"customeValue": Customized value (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"fileState": Transfer status (String)
"isFolder": Folder information (Boolean)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"serverFileName": Save file name (sting)
"serverFilePath": Save folder path (String)
"uploadUrl": Upload URL (String)
},
]
“progress”: Progress (Number) / %
“retries”: Retry count (Number)
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”:{
“errorCode”: Error code (Boolean/String)
“id”: Status title (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name uploadCancel
Description When the upload canceled.
Parameter
# JSON Object      
{
“files”:[ {	
"clientFileName": Displayed filename (String)
"clientFilePath": Attached file full path (String)
"boxId": File box ID (String)
"basePath": Attached path (String)
"customeValue": Customized value (String)
"fileSize": File size(Number) / Byte
"folderName": Folder name (String)
"fileState": Transfer status (String)
"isFolder": Folder information (Boolean)
"rootName": Folder name (String)
"rowID": File row index ID (String)
"serverFileName": Save file name (sting)
"serverFilePath": Save folder path (String)
"uploadUrl": Upload URL (String)
},
]
“progress”: Progress (Number) / %
“retries”: Retry count (Number)
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”:{
“errorCode”: Error code (Boolean/String)
“id”: Status title (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name uploadError
Description When an error occurs while uploading.

- It is supported in the plugin mode.

Parameter
# JSON Object
{
“files”: Upload file info (Array)
[{
“clientFileName”: Displayed filename (String)
“clientFilePath”: Attached file full path (String)
“boxId”: File box ID (String)
“basePath”: Attached path (String)
“customeValue”: Customized value (String)
“fileSize”: File size(Number) / Byte
“folderName: Folder name (String)
“fileState”: Transfer status (String)
“isFolder”: Folder information (Boolean)
“rootName”: Folder name (String)
“rowID”: File row index ID (String)
“serverFileName”: Save file name (sting)
“serverFilePath”: Save folder path (String)
“uploadURL”: Upload URL (String)
}],
“progress”: Progress (Number) / %
“retries”: Retry count (Number)
“speed”: Transfer speed(Number) /Byte
“state”: Status (String)
“statusMessage”: Status (Object)
{
errorCode: Error code (String)
id: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadStart
Description When the download started.
Parameter
# JSON Object  
{
“files”:[{
"downloadUrl ": Download URL (String) 
"fileSize ": File size (Number) / Byte
"id": File ID (String)
"mode": Transfer mode (String)
"printFileName": Displayed filename (String)
"rowID": File row index ID (String)
"selected": Selected or not (Boolean)
"sliceSize": Slice size (Number) / Byte
"transferType": Transfer mode (String)
"validate": Validate the file (Boolean)
},
]
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadComplete
Description When the download completed.

- It is supported in the plugin mode.

Parameter
# JSON Object
{
“files”: Download file info (Array)
[{
“boxId”: File box ID (String)
“ ubfolde”: Download file name (String)
“filePath”: Save folder path (String)
“fileState”: Transfer status (String)
“fileURL”: Download URL (String)
“isFolder”: Folder information (Boolean)
“origFileSize”: Original file size(Number) / Byte
“rowID”: File row index ID (String)
“saveFileSize”: Save file size (Number) / Byte
},]
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”: Status (Object)
{ 
“errorCode”: Error code (Boolean/String)
“id”: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadCancel
Description When the download canceled.

- It is supported in the plugin mode.

Parameter
# JSON Object
{
“files”: Download file info (Array)
[{
“boxId”: File box ID (String)
“ ubfolde”: Download file name (String)
“filePath”: Save folder path (String)
“fileState”: Transfer status (String)
“fileURL”: Download URL (String)
“isFolder”: Folder information (Boolean)
“origFileSize”: Original file size(Number) / Byte
“rowID”: File row index ID (String)
“saveFileSize”: Save file size (Number) / Byte
},]
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”: Status (Object)
{ 
“errorCode”: Error code (Boolean/String)
“id”: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}
Name downloadError
Description When an error occurs while downloading.

- It is supported in the plugin mode.

Parameter
# JSON Object
{
“files”: Download file info (Array)
[{
“boxId”: File box ID (String)
“ ubfolde”: Download file name (String)
“filePath”: Save folder path (String)
“fileState”: Transfer status (String)
“fileURL”: Download URL (String)
“isFolder”: Folder information (Boolean)
“origFileSize”: Original file size(Number) / Byte
“rowID”: File row index ID (String)
“saveFileSize”: Save file size (Number) / Byte
}],
“progress”: Progress (Number) / %
“retries”: Retry count (Number) / Times
“speed”: Transfer speed(Number) /Byte/s
“state”: Status (String)
“stausMessage”: Status (Object)
{ 
“errorCode”: Error code (Boolean/String)
“id”: Transfer status (String)
},
“totalSize”: Total size (Number) / Byte
“transferID”: Transfer ID (String)
“transferSize”: Transfer size (Number) / Byte
“type”: Transfer mode (String)
}

Back-end events

Upload

Name getFileInfo
Description When the upload is started in the server.
Parameter
_action			// Upload action flag
_origin_filename		// Original file name
_filesize			// File size
_folder			// Folder information
_clientpath			// Attached file client path
_compressed		// Compressed file
_rootPath			// Root path
_subdir			// Sub directory path
_encrypt			// Encrypt transfer
_transferId			// Transfer ID
_slice_transfer		// Slice transfer use
_duplicationFile		// Duplicate file policy
_empty_folder		// Empty folder information
Name attachFile
Description Each file transfer status while uploading.
Parameter
_action			// Upload action flag
_origin_filename		// Original file name
_new_filename		// Save file name
_filesize			// File size
_folder			// Folder information
_clientpath			// Attached file client path
_serverpath		// Attached file save path
_compressed		// Compressed file
_rootPath			// Root path
_subdir			// Sub directory path
_encrypt			// Encrypt transfer
_transferId			// Transfer ID
_slice_transfer		// Slice transfer use
_duplicationFile		// Duplicate file policy
_empty_folder		// Empty folder information
_cookie			// Session cookie information
_start_offset		// Slice start point
_end_offset		// Slice end point
_orig_start_offset		// Resume transfer start point
Name attachFileComplete
Description When each file upload is completed.
Parameter
_action			// Upload action flag
_origin_filename		// Original file name
_new_filename		// Save file name
_filesize			// File size
_folder			// Folder information
_filepath			// Attached file save path
_compressed		// Compressed file
_rootPath			// Root path
_subdir			// Sub directory path
_encrypt			// Encrypt transfer
_transferId			// Transfer ID
_slice_transfer		// Slice transfer use
_duplicationFile		// Duplicate file policy
_empty_folder		// Empty folder information
_isfolder			// Folder information
_check_integrity		// Integrity transfer
_integrity_crc32		// Check crc32 value
_integrity_md5		// Check md5 value
_merging			// Merging 

Application example

Upload

Auto-start to upload

When some files are attached, upload will automatically start.

Name Type Default Description
transferStart JSON Text "upload":"auto",
"download":"manual"
Activate to start transferring automatically.
e.g { "upload":"auto", "download": "manual" }
auto: Start transferring, when the transfer window displays
manual: User needs to click start button in the transfer window
- It is supported in the plugin mode.
Copied!
Copy
// upload.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            transferStart: {"upload":"auto","download":"manual"},
            boxConfig: box_config.upload_agent
        });

        box.on('afterAddFiles', function (p) {
            box.upload();
        });
    };
</script>
            

Upload folders

Activate the folder attachment

Name openFolderDialog()
Description Open the folder dialog.

- It is supported in the plugin mode.

Return Type Nonevoid
Input parameter None
Name Type Default Description
folderAttach Boolean false Activate the folder transfer feature.

- It is supported in the plugin mode.

Copied!
Copy
// upload.html
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
        el: '#fileBox',
        uploadURL: "./upload.jsp",
        folderAttach: true,
        boxConfig: box_config.upload_agent
    });
…
</script>
…
<body>
<div id="fileBox"></div>
<div class="innorix_button">
    <input type="button" value="Browse" onclick="box.openFolderDialog()"/>
    <input type="button" value="Upload" onclick="box.upload();"/>
</div>
</body>
                
            

Upload 1,000+ items

In order to reduce the user waiting time, the file box will not display all file list when attaching more than 1,000 items. (files and folder)

Name Type Default Description
maxMassFileListCount Number 1000 Switch the file box UI to the mass upload mode when more than 1,000 items are attached.
Copied!
Copy
// upload.html
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
        el: '#fileBox',
        uploadURL: "./upload.jsp",
        maxMassFileListCount: 1000,
        boxConfig: box_config.upload_agent
    });
…

            

Upload 1K + file folders

Activate the folder attachment feature for mass items. When a folder that has over 1,000 items are attached, the file box will not check the number of items in the folder to reduce the user waiting time.

Name Type Default Description
folderAttach Boolean false Activate the folder transfer feature.

- It is supported in the plugin mode.

maxMassFileListCount Number 1000 Switch the file box UI to the mass upload mode when the attached folder has more than 1,000 items.
Copied!
Copy
// upload.html
<script>
var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            folderAttach: true,
            boxConfig: box_config.upload_agent
        });
…

            

Multi upload boxes

Create multiple upload file boxes on a webpage.

Copied!
Copy
// upload.html
<body>
    <div id="fileBox1"></div><br />
    <div id="fileBox2"></div><br />
    <div id="fileBox3" style="display:none";></div>
    <input type="button" value="Upload" onclick="uploadAll();" />
</body>

<script>
    var box1 = new Object();
    var box2 = new Object();
    var box3 = new Object();
    window.onload = function() {
        box1 = innorix.create({
        el: '#fileBoxl',
        uploadUrl: './upload.jsp'
        });

        box2 = innorix.create({
            el: '#fileBox2',
            uploadUrl: './upload.jsp'
        });

        box3 = innorix.create({
            el: '#fileBox3',
            uploadUrl: './upload.jsp'
        });
    }

    function uploadAll() {
        box3.addFiles(control1.getUploadFiles());
        box3.addFiles(control2.getUploadFiles());
        box3.upload();
    }
</script>
            

Resize the image files

When uploading images, their resized images are created and uploaded together. (jpg, png, gif, bmp)

Name appendThumbnailPeoperty()
Description When uploading images, their resized images are created and uploaded together. (jpg, png, gif, bmp)
Return Type Nonevoid
Input parameter
# JSON Object
Index(String), Width(Number), Height(Number), Baseline(STRING)
box.appendThumbnailProperty(1, 300, 200, "VERTICAL");
box.appendThumbnailProperty("ALL", 300, 200, "HORIZONTAL");
box.appendThumbnailProperty("ALL", 300, 200, "FIX");
Copied!
Copy
// upload.html
<body>
    <div id="fileBox"></div><br />
    <input type="button" value="Upload" onclick="thumbnail_upload();" />
</body>

<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            boxConfig: box_config.upload_agent
        });
    }

    function thumbnail_upload(){
        box.appendThumbnailProperty("ALL", 200, 200, "VERTICAL");
        box.upload();
    }
</script>
                
            

Watermarks on images

When uploading images, add a watermark on the original and resized images and upload them. (jpg, png, gif, bmp)

Name appendWatermarkProperty()
Description When uploading images, add a watermark on the original and resized images and upload them. (jpg, png, gif, bmp)
Return Type Nonevoid
Input parameter
# JSON Object
Index(String), imageUrl(String), Image type(String), Position(String)
box.appendWatermarkProperty("ALL", "./logo.png", "ALL", "LEFT|BOTTOM")
box.appendWatermarkProperty("1", "./logo.png", "ORIGINAL", "RIGHT|TOP")
box.appendWatermarkProperty("1", "./logo.png", "THUMBNAIL", "CENTER|CENTER")
Copied!
Copy
// upload.html
<body>
    <div id="fileBox"></div><br />
    <input type="button" value="Upload" onclick="watermark_upload();" />
</body>

<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            boxConfig: box_config.upload_agent
        });
    }

    function thumbnail_upload(){
        box.appendWatermarkProperty("ALL", "innorix_logo.png", "ALL", "LEFT|BOTTOM")
        box.upload();
    }
</script>
                
            

Encrypt the upload files

Files will be encrypted before uploading. In order to encrypt all files, the transfer time may take longer.

Name Type Default Description
useEncrypt Boolean false Encrypt and decrypt the files while transferring.
- It is supported in the plugin mode.
Name setAutoDecryption()
Description Decrypt when the uploaded files are encrypted.
Return Type Nonevoid
Input parameter Boolean (true, false)
Copied!
Copy
// upload.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            useEncrypt: true, 
            …                
                
            
Copied!
Copy
/* upload.jsp */
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
if (request.getMethod().equals("POST"))
{
    …
    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, "UTF-8", directory, true, encryptKey, encryptIV);
    uploader.setOverwrite(false);
    …
                
            

Encrypt the meta-data

Files and metadata will be encrypted before uploading.

Name Type Default Description
useEncryptMeta Boolean false Encrypt the meta information while transferring.
- It is supported in the plugin mode.
Name setAutoDecryption()
Description Decrypt when the uploaded files are encrypted.
Return Type Nonevoid
Input parameter Boolean (true, false)
Copied!
Copy
// upload.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            useEncryptMeta: true, 
    …                
                
            
Copied!
Copy
// upload.jsp
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
if (request.getMethod().equals("POST"))
{
        …
    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, "UTF-8", directory, true, encryptKey, encryptIV);
    uploader.setOverwrite(false);
    …
                
            

Verify file integrity

Even if very small tampering part is detected, only that part will be automatically recovered. In order to verify all files, the transfer time may take longer.

Name Type Default Description
integrity String Check the integrity while uploading.
both: Check files and blocks.
file: Check files
block: Check blocks
- It is supported in the plugin mode.
Copied!
Copy
// upload.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            integrity: both,
    …                
                
            

Check the file header

Compare the file header and extension to check whether they match.

Name Type Default Description
useSignature Boolean true Compare the file header and extension.
Copied!
Copy
// upload.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            useSignature: true,
    …
                
            

Change the save path

Change the save path in the server.

Copied!
Copy
// upload.jsp
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
if (request.getMethod().equals("POST"))
{
        …
    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, directory);
    String newSavePath = "New path";
    uploader.setDirectory(newSavePath); 
    uploader.run();
}
                
            

Save in a new sub-folder

Create a new sub-folder and save files in the folder.

Copied!
Copy
// upload.html
<body>
    <div id="fileBox"></div><br />
    <input type="button" value="Upload" onclick="upload_post();" />
</body>

<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            boxConfig: box_config.upload_agent
        });

        function upload_post(){
            var postObj = new Object();
            postObj._subdir = "subDir"; 
            box.setPostData(postObj);
            box.upload();
        }
    };
</script>
                
            
Copied!
Copy
// upload.jsp
                <%@ page import="com.innorix.transfer.InnorixUpload" %>
                
                <%
                if (request.getMethod().equals("POST"))
                {
                    …
                    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, saveDir);
                    String _subdir = uploader.getParameter("_subdir");
                    uploader.setOverwrite(true);
                …
                
            

Overwrite duplicated files

Name setOverwrite()
Description Overwrite when there are duplicate files.
Return Type Nonevoid
Input parameter (Boolean) – true, false
Copied!
Copy
// upload.jsp code
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
if (request.getMethod().equals("POST"))
{
        …
    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, saveDir);
    uploader.setOverwrite(true);
…
                
            

Put no. duplicated files

Name setOverwrite()
Description Overwrite when there are duplicate files.
Return Type Nonevoid
Input parameter (Boolean) – true, false
Copied!
Copy
// upload.jsp code
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
if (request.getMethod().equals("POST"))
{
        …
    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, saveDir);
    uploader.setOverwrite(false);
…
                
            

Rename uploaded files

Rename only the file name except the extention.

Copied!
Copy
// upload.jsp
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
if (request.getMethod().equals("POST"))
{
        …
    InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, directory);
    String ext = "";
    String newFileName = "New file name";
    if (_orig_filename != null){
            ubfold_pos = _orig_filename.lastIndexOf(".");
        ext = _orig_filename.substring(ext_pos);
    }
    uploader.setFileName(newFileName + ext);
    uploader.run();
                
            

Process without files

Uploading process when no upload file.

Copied!
Copy

<body>
    <div id="fileBox"></div><br />
    <input type="button" value="upload" onclick="form_submit();" />
</body>

<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: "./upload.jsp",
            boxConfig: box_config.upload_agent
        });

        function form_submit(){
            if(box.getAllFiles() == null){
                var innoJquery = innorix._load("innoJquery");
                innoJquery('form#f_write').submit();    
            }else{ 
                box.upload();
            }
        };

        box.on('uploadComplete', function(p){
        var files = JSON.stringify(f);
        var innoJquery = innorix._load("innoJquery");
        innoJquery('form#f_write').append('<input type="hidden" name="files" id="files" value=\'' + files + '\' />');
        innoJquery('form#f_write').submit();
        });
    }
</script>
                
            

Download

Auto-start to download

Downloading will automatically start when the webpage is loaded.

Name Type Default Description
transferStart JSON Text "upload":"auto",
"download":"manual"
Activate to start transferring automatically.
e.g { "upload":"auto", "download": "manual" }
auto: Start transferring, when the transfer window displays
manual: User needs to click start button in the transfer window
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            transferStart: {"upload":"manual","download":"auto"},
            boxConfig: box_config.download_agent
        });

        box.on('afterAddFiles', function (p) {
            box.download();
        });
    };
</script>                
                
            

Download folders

Activate the folder download

Name Type Default Description
folderAttach Boolean false Activate the folder transfer feature.

- It is supported in the plugin mode.

Copied!
Copy
// download.html
<script>
var box = new Object();
window.onload = function() {
    box = innorix.create({
        el: '#fileBox',
        folderAttach: true,
        boxConfig: box_config.download_agent
    });
    box.presetDownloadFiles([{
        rootname: "folder name",
        downloadURL: "http(s)://web server address/file.txt",
        printFileName: "The File AAA.txt",
        fileSize: 1433885
    },{
…
                
            

Download 1,000+ files

In order to reduce the user waiting time, the file box will not display all file list when the download file list has over 1,000 items. (files and folder)

Name Type Default Description
maxMassFileListCount Number 1000 Switch the file box UI to the mass download mode when download file list has 1,000 items.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            maxMassFileListCount: 1000,
            boxConfig: box_config.download_agent
        });
    …
                
            

Download 1K+ files folders

Activate the folder attachment feature for mass items. When a folder that has over 1,000 items are attached, the file box will not check the number of files in the folder to reduce the user waiting time.

Name Type Default Description
folderAttach Boolean false Activate the folder transfer feature.
- It is supported in the plugin mode.
maxMassFileListCount Number 1000 Switch the file box UI to the mass download mode when the download folder has more than 1,000 items.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            folderAttach: true,
            maxMassFileListCount: 1000,
            boxConfig: box_config.download_agent
        });
        box.presetDownloadFiles([{
            rootname: "folder name",
            downloadURL: "http(s)://web server address/file.txt",
            printFileName: "The File AAA.txt",
            fileSize: 1433885
        },{
    …
                
            

Multi download boxes

Create multiple download file boxes on a webpage.

Copied!
Copy
// download.html
<body>
    <div id="filebox1"></div><br />
    <div id="filebox2"></div><br />
    <div id="filebox3" style="display: none;"></div><br />
    <input type="button" value="download" onclick="downloadAll();" />
</body>

<script>
    var box1 = new Object();
    var box2 = new Object();
    var box3 = new Object();
    window.onload = function() {
        box1 = innorix.create({
            el: '#fileBox1',
            boxConfig: box_config.download_agent
        });
        box2 = innorix.create({
            el: '#fileBox2',
            boxConfig: box_config.download_agent
        });

        box3 = innorix.create({
            el: '#fileBox3',
            boxConfig: box_config.download_agent
        });

        box1.on('loadComplete', function (p) {
            box1.presetDownloadFiles(fileArray1[]);
        });

        box2.on('loadComplete', function (p) {
            box2.presetDownloadFiles(fileArray2[]);
        });
        function downloadAll() {
            box3.addFiles(control1.getDownloadFiles());
            box3.addFiles(control2.getDownloadFiles());
            box3.download();
        }
    };
</script>
                
            

Overwrite duplicated files

Name Type Default Description
downloadDuplicate String resume Duplicate file policy when downloading.
overwrite : overwrite
resume : resume
numbering : auto numbering rename
confirm : user check confirm
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            downloadDuplicate: "overwrite",
            boxConfig: box_config.download_agent
        });
    };
</script>
                
            

Put no. duplicated files

Name Type Default Description
downloadDuplicate String resume Duplicate file policy when downloading.
overwrite : overwrite
resume : resume
numbering : auto numbering rename
confirm : user check confirm
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            downloadDuplicate: "numbering",
            boxConfig: box_config.download_agent
        });
    };
</script>
                
            

User`s duplicate confirm

Name Type Default Description
downloadDuplicate String resume Duplicate file policy when downloading.
overwrite : overwrite
resume : resume
numbering : auto numbering rename
confirm : user check confirm
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            downloadDuplicate: "confirm",
            boxConfig: box_config.download_agent
        });
    };
</script>
                
            

Set download path

Set the default save path but a user can change it.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            savePath: 'downloadPath',
            boxConfig: box_config.download_agent
        });
    };
</script>
                
            

Choice save path by users

A user can choose the save path before the transfer window is displayed.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });

        function setDownloadPath(){
            box.setDownloadPath(function(response){
                if (response.result==true){
                    box.download();
                };
            });
        };
    };
</script>
                
            

Open the save path

Open the save path after downloading.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });

        function openPathdownload(){
            box.setOption({useOpenFolder: true, useExecute: false});
            box.download();
        };
    };
                
            

Download and open

When a user double-click a file in the file box, the file will be execute after downloading in a temporary path.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });
        box.on('onDblClickRows', function(p){
            box.downloadAndOpen();
        });
    };
</script>
                
            

Download and execute

Extcute a file after downloading.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });

        function openPathdownload(){
            box.setOption({useOpenFolder: false, useExecute: true});
            box.download();
        };
    };
</script>
                
            

Save in a new folder

Create a sub-folder and save the downloaded files in the path.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });
        box.presetDownloadFiles([{
            modificationTime: modifidate, 
            printFileName: downloadfileName, 
            fileSize: fileSize, 
            downloadUrl: downloadUrl,
            subFolder:folderName
        }])
    };
</script>
                
            

Process after remove items

Return removed file information in the file box.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });
        box.on('afterRemoveFiles', function(p){
            console.log(p);
        });
    };
</script>
                
            

When ` in the file name

Rename the file name when ` in a file name.

Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.download_agent
        });
        box.presetDownloadFiles([{
            modificationTime: modifidate, 
            printFileName: '\'filename.zip', // Use \' instead '
            fileSize: fileSize, 
            downloadUrl: downloadUrl
        }]);
    };
                
            

When no file size

Make the download file list without file size information.

Name Type Default Description
skipDownloadCheck Boolean false Verify whether the file actually exists and the size.
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            skipDownloadCheck: true,
            boxConfig: box_config.download_agent
        });

        box.presetDownloadFiles([{
            modificationTime: modifidate, 
            printFileName: filename, 
            fileSize: 0, 
            isTempFileSize: true,
            downloadUrl: downloadUrl
        }]);
    };
</script>
                
            

Decrypt the files

Decrypt the the download files after downloading.

Name Type Default Description
useEncrypt Boolean false Encrypt and decrypt the files while transferring.
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            useEncrypt: true, //Set true
            boxConfig: box_config.download_agent
        });

        box.presetDownloadFiles([{
            isCrypt: true,
            encryptFileSize: 28200, //Set the encryptFile size
            modificationTime: modifidate, 
            printFileName: downloadfileName, 
            fileSize: fileSize, 
            downloadUrl: downloadUrl,
        }]);
    };
</script>
                
            

Encrypt the meta-data

Encrypt the the the meta-data files after downloading.

Name Type Default Description
useEncryptMeta Boolean false Encrypt the meta information while transferring.
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            useEncryptMeta: true, // Set true
            boxConfig: box_config.download_agent
        });
    };
</script>
                
            

Verify file integrity

Even if very small tampering part is detected, only that part will be automatically recovered. In order to verify all files, the transfer time may take longer.

Name Type Default Description
downloadIntegrity Boolean False Activate download integrity mode.
- It is supported in the plugin mode.
downloadIntegrityFile Boolean False Activate download file integrity mode.
- It is supported in the plugin mode.
Copied!
Copy
// download.html
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            downloadIntegrity: true,
            downloadIntegrityFile: true,
            boxConfig: box_config.download_agent
        });
    };
</script>
                
            

Common

Mix upload and download

Mix the upload and download featres in a file box.

Name Type Default Description
transferMode String both Set the file box transfer mode.
both: Upload and download in the same file box
upload: Only upload
download: Only download
Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            transferMode: 'both',
            uploadUrl: './upload.jsp',
            boxConfig: box_config.combine_agent
        });
    };
</script>
                
            

Custom drop-zone

Enable an object to support drag-drop.

Name setDropzone()
Description Set the file drop zone.
Return Type Nonevoid
Input parameter innoJqueryevt
Copied!
Copy
// html code
<body>
    <table id="dropZone" style="width:555px; height:150px; border: 1px solid">
        <tr><td align="center">Drop files and folders here</td></tr>
    </table><br /><br />
</body>
                
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            enableDropZone: false,
            boxConfig: box_config.combine_agent
        });
    };

    innoJquery("dropZone").on({
        "dragenter": function(innoJqueryevt) {
            box.setDropZone(innoJqueryevt, this);
        }
    });
</script>
                
            

Custom file box

Enable an object to support the file box features.

Copied!
Copy
// html code
<div id="fileTable" style="overflow:auto; width:500px; height:200px; border: 1px solid #c0c0c0;">
    <table id="fileTable" class="fileTable">
        <thead>
            <tr>
                <th class="fileInfo">filePath</th>
                <th class="fileInfo">fileSize</th>
                <th class="fileInfo">fileType</th>
                <th>File Name</th>
                <th>Size</th>
                <th>Type</th>
                <th>Remove</th>
            </tr>
        </thead>
        <tbody></tbody>
    </table>
</div>

<script>
    var box = new Object();
    var control = new Object();
    var tableRowInsert = true;

    innoJquery(document).ready(function() {
        box = innorix.create({
            el: '#fileBox',
            installUrl: '../install/install.html',
            boxConfig: box_config.combine_agent
        });

        box.on('afterAddFiles', function (p) {
            if (tableRowInsert == true) {
                for (var i = 0; i < p.length; i++ ) {
                    var _filePath = p[i].filePath;
                    var _fileSize = p[i].fileSize;
                    var _fileID = p[i].id;
                    var _fileType = "normal";
                    var arr = (_filePath.replace(/\\/gi,"/")).split("/");
                    var fileName = arr[arr.length-1];
                    var fileSize = bytesToSize(_fileSize);
                    var fileType = "Normal";
                    if (_fileSize > 104857600) {
                        var _fileType = "large";
                        var fileType = "Large";
                    }
                    innoJquery('#fileTable > tbody:last').append(' \
                    <tr class="fileTable"> \
                        <td class="fileInfo">' + _filePath + '</td> \
                        <td class="fileInfo">' + _fileSize + '</td> \
                        <td class="fileInfo">' + _fileType + '</td> \
                        <td>' + fileName + '</td> \
                        <td>' + fileSize + '</td> \
                        <td>' + fileType + '</td> \
                        <td><input type="button" value="Delete" onClick="deleteRow(this,\'' + _fileID + '\')"/></td> \
                    </tr>\''
                    );
                }
            }
        });
    });
</script>
                
                
            

When using iframe

Set the iframe mode when a file box is in an iframe.

Name Type Default Description
iframeOutside Boolean True Set iframe mode when a file box is in an iframe.
iframeOutsideCssURL String Set the CSS URL (innorix.css) for the parent frame.
Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            iframeOutside: true,
            iframeOutsideCssURL: CSSFilePath,
            boxConfig: box_config.combine_agent
        });
    };
</script>
                
            

Transfer window in iframe

Set the transfer window location outside of the iframe.

Name Type Default Description
iframeOutsideLeft Number Set the transfer window location from the left. (Pixels)
iframeOutsideTop Number Set the transfer window location from the top. (Pixels)
iframeOutsideLocation String top: Display the transfer window in the most top frame.
parent: Display the transfer window in the layer that is 1 level upper from the file box frame.
iframeOutsideMarginLeft Number Set the transfer window margin from the left. (Pixels)
iframeOutsideMarginTop Number Set the transfer window margin from the top. (Pixels)
Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            iframeOutside: true,
            iframeOutsideCssURL: CSSFilePath,
            iframeOutsideLeft: "default",
            iframeOutsideLocation: "top",
            iframeOutsideMarginLeft: "default",
            iframeOutsideMarginTop: "default",
            iframeOutsideTop: "default",
            boxConfig: box_config.combine_agent
        });
    };
</script>
                
            

Exception policies

Name Type Default Description
maxErrorCount Number Unlimited Set the maximum number of errors without user intervention.
If it is '10', when errors occur 11 times, the transfer will stop.
- It is supported in the plugin mode.
maxRetryCount Number Unlimited Set the maximum number of retries when 1 error occurs.
If it is '3', when an error occurs, it will retry for 3 times.
- It is supported in the plugin mode.
retryInterval Number 3 Set the interval (second) of retries when 1 retries.
If it is '3', when an error occurs, it will retry every 3 seconds.
- It is supported in the plugin mode.

Set retry policies such as 1) number of retries, 2) intervals and 3) ignore when an error occur while transferring.

Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            enableDropZone: false,
            boxConfig: box_config.combine_agent,
            maxErrorCount: 5,
            maxRetryCount: 5,
            retryInterval: 3
        });
    };
</script>
                
            

Custom value for front-end

Add more information to the meta-data.

Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            enableDropZone: false,
            boxConfig: box_config.combine_agent
        });

        function upload_post(){
            var postObj = new Object();
            postObj._customValue = "customValue"; 
            box.setPostData(postObj);
            box.upload();
        };
    };
</script>
                
            
Copied!
Copy
// jsp code
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
… InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, saveDir);
String _customValue = uploader.getParameter("_customValue");
…
                
            

Custom value for back-end

Add more information to the meta-data in the server.

Copied!
Copy
// jsp code
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
…
if (_action.equals("attachFileCompleted")){
    uploader.setCustomValue("customValue", customValue);
}
                
            

Server-side exceptions

Process some customized exceptions in the server.

Copied!
Copy
// jsp code
<%@ page import="com.innorix.transfer.InnorixUpload" %>

<%
…
if(_action.equals("getFileInfo")){
    // 
    uploader.showCustomError("1500", "CustomErrorTitle", "CustomErrorMessage", false);
}
                
            
Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            boxConfig: box_config.combine_agent
        });
        
        box.on('uploadError', function (p) {
            console.log(p);
        });
    };
</script>
                
            

Custom exception message

Change the error messages when violating the file attachment policies. E.g.) When attaching a file that exceeds the limited size.

Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: './upload.jsp'
            boxConfig: box_config.combine_agent
        });

        box.on('addFileError', function (p) {
            if(p.type == "allowExtension"){
                p.message = customMessage;
            }
        });
    };
</script>
                
            

When to use CORS

When the response and request web pages are using different domain addresses.

Copied!
Copy
/* jsp code */
<%
…
if (request.getMethod().equals("POST")) { }

response.setHeader("Access-Control-Allow-Origin", "*");
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Methods", "POST, OPTIONS");
response.setHeader("Access-Control-Allow-Headers", "Authorization,DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type");
…	
%>
                
            

When to use proxy

Use the proxy configuration of web browser when in proxy environment.

Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            useProxy: true,
            boxConfig: box_config.combine_agent
        });
    };
</script>
                
            

When in SSL

Use the SSL certificate information of web browser when to use SSL.

Copied!
Copy
// html code
<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            useSSL: true,
            boxConfig: box_config.combine_agent
        });
    };
</script>
                
            

Link with 3rd-party

Using "_action" parameters, link with 3rd-pary modules such as DRM and virus scan, etc.

Copied!
Copy
/* jsp code */
<%
…
if(_action.equals("attachFileComplete")){
    /* <Thirdparty connection> */
}
%>
                
            

Process sessions

Maintain longer session time when the long time transfers such as large or mass files.

Name setCookie()
Description Keep the web session information.
Return Type Nonevoid
Input parameter (String)
the example to keep session information after loading the file box
box.on('loadComplete', function (p) {
box.setCookie("JSESSIONID=<%=session.getId()%>");
}…
Copied!
Copy
// html code
<body>
    <div id="fileBox"></div></br>
    <input type="button" value="download" onclick="StartUpload();" />
</body>

<script>
    var box = new Object();
    window.onload = function() {
        box = innorix.create({
            el: '#fileBox',
            uploadURL: './upload.jsp'
            boxConfig: box_config.combine_agent
        });

        function StartUpload(){
            box.setCookie("JSESSIONID=<%=session.getId()%>"); 
            box.Upload(); 
        };
    };
</script>
                
            
Privacy policy
Terms of use
langIcon English
  • English
  • tiếng Việt
  • Bahasa
  • ภาษาไทย
  • Filipino
  • Français
  • Deutsch
  • Росси́я
  • italiano
  • Nederlands
  • Português
  • Español
  • العربية
  • हिन्दी
  • Kiswahili
  • 한국어
Privacy policy
Your privacy is very important to us. INNORIX respects your privacy and is committed to protect the personal information that you share with us. Generally, you can browse through our website without giving us any information. When we do need your personal information to provide services, you will be noticed from us or you can choose to provide us with your personal information. Below statement describes how we collect and use your information.
Overview
The privacy practices of this statement apply to our services available under the domain and subdomains of www.innorix.com (the 'Site'). By visiting this site you agree to be bound by the terms and conditions of this privacy policy.
1. Why we collect the data
Our primary purpose in collecting personal information is to provide you with efficient, and customized experience. We only collect personal information about you that we consider necessary for achieving this purpose.

Once you give us your personal information, you are not anonymous to us. If you choose to use our services, we may require you to provide contact and some other basic information about yourself. We indicate which fields are required and which fields are optional. You always have the option to not provide information by choosing not to use a particular service or feature.
2. Our use of data
We may use your name and email address to inform you of future offers, product developments, and new products we think may be of interest to you based on your previous enquiries and orders. This information is not shared with third parties and you can unsubscribe at any time via phone, email or our website.

If you do not wish to receive these communications, we encourage you to opt out of the receipt of certain communications by sending an email to general@innorix.com to opt-out. You may make changes to your notification preferences at any time.
3. Choice not to provide data
You may choose whether or not to provide personal information to INNORIX. However, when you engage in certain activities on this site, such as ordering products and downloading software, INNORIX requires that you provide certain information about yourself such as name, mailing address, e-mail address and other personal identifying information.
4. Security
Your information is stored on the INNORIX servers. We use procedural and technical safeguards to protect your personal information against loss or theft as well as unauthorized access and disclosure to protect your privacy, including encryption, 'firewalls' and secure socket layers. We employ many different security techniques to protect your precious data from unauthorized access by users inside and outside the company. However, 'perfect security' does not exist on the Internet.
5. Notice
We may amend this privacy policy at any time by posting the amend terms on the site. All amended terms shall automatically be effective 30 days after they are initially posted on the site. In addition, we will notify you in accordance with your notification preferences.

For questions regarding the above privacy policy please contact us at general@innorix.com.
Terms of use
This is a legal agreement between you and INNORIX, for use of the service from the INNORIX which you selected or initiated. “you” refers to the individual and enterprise that registered and/or provided in the INNORIX website.

Any software associated with the services is protected by copyright laws and international copyright treaties, as well as other intellectual property laws and treaties. “Data” refers to all information entered from “you” on the company servers in relation to services.
Services
The company may at its sole discretion modify the features of the Services from time to time without prior notice. The company will provide the Services in accordance with this agreement.
Our use of data
We may use your name and email address to inform you of future offers, product developments, and new products we think may be of interest to you based on your previous enquiries and orders. This information is not shared with third parties and you can unsubscribe at any time via phone, email or our website.
Materials posted on this website
All materials that are made available as part of the website services are the copyrighted work of INNORIX or its suppliers. Your use of these materials is governed by one of two sets of license terms. Whether you are presented with a license for the materials or no license is presented to you, these terms apply. INNORIX reserves all rights to the materials expressly granted under these license terms. In your use of the materials you may not:

   • Remove, modify or tamper with any copyright notices;
   • Distribute the materials to third parties, including by posting the materials on any networked computer for access by
     any other computer on the network, or broadcast the materials in any media; or
   • Make any modifications to the materials.

Elements of INNORIX websites are protected by trade dress, trademark, unfair competition, and other laws and may not be copied or imitated in whole or in part. No logo, graphic, sound, or image from any INNORIX website may be copied or retransmitted unless expressly permitted by INNORIX. INNORIX may have trademarks, copyrights, or other intellectual property rights covering subject matter in the materials. By providing the materials to you, INNORIX does not give you any license to these patents, trademarks, copyrights, or other intellectual property, unless INNORIX does so expressly in writing.
Proprietary Rights
The company and/or its suppliers, as applicable, retain ownership of all proprietary rights in the services and in all trade names, trademarks, and service marks associated or displayed with the services. You will not remove, deface or obscure any of the company’s or its suppliers’ copyright or trademark notices and/or legends or other proprietary notices on, incorporated therein, or associated with the Services. You may not reverse engineer, reverse compile or otherwise reduce to human readable form any software associated with the services.

For questions regarding the above terms of use please contact us at general@innorix.com.