INNORIX
Transfer BuilderTransfer FinderDevelopersResourcesCustomers
Start Free
INNORIX

LET FILES
MOVE THEMSELVES

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

START HERE

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

POPULAR TRANSFERS

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

DEVELOPERS

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

RESOURCES

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

CUSTOMERS

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

PLANS

  • Pricing

COMPANY

About Us

OTHER INNORIX PRODUCT

Al.bert — Smart Traffic AI

GLOBAL OFFICES

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

(C)2026 INNORIX. All rights reserved.

  • Security
  • Status
  • Terms
  • Privacy
  • Cookies
  1. Developers
  2. INNORIX Exabyter Manual

INNORIX Exabyter Manual

INNORIX Exabyter upload and download integration guide.

Deploy & Manage
Exabyter

Table of contents (INDEX)#

  • Install Exabyter
    • Install the product files
    • Upload & download test
  • Exabyter upload
    • STEP1: Front end process
    • STEP2: Back end process
    • STEP3: Upload complete
  • Exabyter download
    • Make the file list
    • Direct or stream download
    • Get the download file information
  • Advanced features
    • Monitor & Track
    • Integrated mode
    • HTTPS (SSL) transfer
    • Image upload
  • Exabyter UI
    • File box
    • Upload buttons
    • Download buttons
    • Transfer window
    • Auto upload & download
    • Custom file box
  • Major options
  • Front end methods
  • Back end methods
  • Front end events
  • Back end events

Install Exabyter#

Install the product files#

1. Copy the front end files#

Prepare a web server and copy the front end files to the web server.

[/wwwroot/innorix] $ cp -r /download/exabyter/ /wwwroot/innorix/

2. Create the upload path and give permission#

Create the upload folder and grant write permission to the server so that uploaded files can be stored.

[/wwwroot/innorix/exabyter] $ mkdir data
[/wwwroot/innorix/exabyter] $ chmod 777 data

3. Copy the back end files#

[/wwwroot/innorix] $ cp /download/exbyter/exam/upload.jsp /wwwroot/innorix/exabyter/exam/
[/wwwroot/innorix] $ cp /download/exbyter/exam/download.jsp /wwwroot/innorix/exabyter/exam/
[/wwwroot/innorix] $ cp /download/exabyter/WEB-INF/lib/INNORIX-JAVA.jar /wwwroot/WEB-INF/lib/

4. Enter your license key#

Open the LicenseKey.txt file and enter the license key in the code generator.

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

After extracting the product files, you can see the following files.

Category Files
Front end files /exabyter/innorix.js
/exabyter/config.js
/exabyter/innorix.css
/exabyter/img/
/exabyter/exam/upload.html
/exabyter/exam/download.html
Back end files /exabyter/exam/upload.jsp
/exabyter/exam/download.jsp
/exabyter/WEB-INF/lib/INNORIX-JAVA.jar

Upload & download test#

1. Upload test#

Access http://your web server address/upload.html

Select a file and click the Upload button to display the transfer window.

2. Download test#

Access http://your web server address/download.html

Click the Download button to display the transfer window.


Exabyter upload#

STEP1: Front end process#

1. File size and number of files#

Set the maximum file size and number of files. If not set, there is no limit.

Name Type Default Description
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)
innorix.config = {
    default: {
        ...
        maxFileCount : 10,
        maxFileSize  : 100,
        maxTotalSize : 1000,
        ...
}};

2. File types#

Set the file types that can be attached.

Name Type Default Description
allowType String Array Allow to attach only entered file types
e.g ["jpg", "gif", "png"]
※ limitExtension is higher priority than allowExtension
innorix.config = {
    default: {
        ...
        allowType : ["jpg", "gif", "png"],
        ...
}};

Set the file types that are not allowed to be attached.

Name Type Default Description
denyType String Array Deny to attach entered file types
e.g ["exe", "msi", "cab"]
※ When specifying the same extension policy as allowExtension, LimitExtension is applied first
innorix.config = {
    default: {
        ...
        denyType : ["exe", "msi", "cab"],
        ...
}};

3. Duplicate files#

If "true", duplicate files can be attached. (Default=false)

Name Type Default Description
addDuplicateFile Boolean true Allow to attach duplicate files.
innorix.config = {
    default: {
        ...
        addDuplicateFile : true,
        ...
}};

4. Get all file information#

Get the total size of all files in the list control.

var fileInfo = box.getTotalSize();

Get the total number of all files in the list control.

var fileInfo = box.getFileCount();

Get detailed information about all files in the list control.

var fileInfo = box.getAllFiles();
Name Description
basePath Attached path (String)
boxId List control 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)
downloadUrl Download URL (String)
sliceSize File slice size (Number) / Byte
validate File validation (Boolean)

5. Get a specific file information#

Get detailed information for the file at the index number.

var fileInfo = box.getFileByIndex(0);

(The returned fields are the same as the table in 4. Get all file information.)

6. Set POST Data#

Set the POST data for all files identically.

var postObj = new Object();
postObj.type = "t31";
postObj.part = "p25";
box.setPostData(postObj);
box.upload();

Set the POST data for each file individually.

var fileCnt = box.getFileCount();
for(i=0; i < fileCnt; ++i){
    var postObj = new Object();
    postObj.type = "t31";
    postObj.part = "p25";
    box.setFilePostDataByIndex(i, postObj);
}

STEP2: Back end process#

1. Change the upload path#

Write code to change the file name uploaded to the server.

directory = "./data/";
InnorixUpload uploader = new InnorixUpload(request, response, maxPostSize, directory);

2. Change the file name#

Get all file information after starting the upload.

uploader.setFileName(rename);

3. Get all file information#

Get all file information after starting the upload.

String _action = uploader.getParameter("_action");
if(_action.equals("getFileInfo")){ }
Name getFileInfo
Description When the upload starts on the server
Parameter Description
_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

4. Get transfer status#

Get the transfer status of each file during upload.

String _action = uploader.getParameter("_action");
if(_action.equals("attachFile")){ }
Name attachFile
Description Transfer status of each file during upload
Parameter Description
_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

5. Save the uploaded information#

Save the uploaded file information and form values to the database.

String _action = uploader.getParameter("_action");
if(_action.equals("attachFileCompleted")){ }
Name attachFileComplete
Description Individual file upload completed
Parameter Description
_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

STEP3: Upload complete#

Upload complete event#

After all files are uploaded to the server, the front end retrieves the uploaded information from the server.

box.on('uploadComplete', function (p) {
    console.log(p);
});
Name uploadComplete
Description When file upload is complete
Parameter Description
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 (string)
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)
id // Status title (String)
totalSize // Total size (Number) / Byte
transferID // Transfer ID (String)
transferSize // Transfer size (Number) / Byte
type // Transfer mode (String)

Exabyter download#

Make the file list#

1. Download file URL#

The download file URL must start with with http(s):// and be an accessible address.

2. Displayed file name#

Even if the actual file name on the server is "a.txt", the actual file name ("a.txt") is displayed unless "The File AAA.txt" is set in the list control.

3. File size (byte)#

For better performance, it is recommended to enter the file size. If not set, Exabyter automatically gets the file size.

box.presetDownloadFiles(
[{
    downloadUrl: "http://your web server address/a.txt",
    printFileName: "The File AAA.txt",
    fileSize: 1433885
}]);

Direct or stream download#

1. Direct download#

The most basic method is simply to set the actual file URL directly.

box.presetDownloadFiles(
[{
    downloadUrl: "http://your web server address/INNORIX Exabyter Brochure.pdf",
    printFileName: "INNORIX Exabyter Brochure.pdf",
    fileSize: 1433885
}]);

2. Stream download#

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

  1. Only logged-in users can download the file.
  2. For security reasons, the actual file path cannot be exposed.
  3. The actual file is stored as a BLOB in the database.
  4. The actual file path cannot be accessed from a web browser (e.g. the actual file is at /usr/local/mount).

Front end example

box.presetDownloadFiles([{
    downloadUrl: "http://your web server address/download.jsp?fileID=1",
    printFileName: "INNORIX Exabyter Brochure.pdf",
    fileSize: 1433885
}]);

Back end example

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 = "sample-file.pdf";
        orgFileName = "INNORIX WP Brochure.pdf";
    }
}

File file = new File(sysFileName);

Get the download file information#

1. Get all file information#

Get the total size of all files in the list control.

var fileInfo = box.getTotalSize();

Get the total number of all files in the list control.

var fileInfo = box.getFileCount();

Get detailed information about all files in the list control.

var fileInfo = box.getAllFiles();
Name Description
basePath Attached path (String)
boxId List control 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)
downloadUrl Download URL (String)
sliceSize File slice size (Number) / Byte
validate File validation (Boolean)

2. Get a specific file information#

Get detailed information for the file at the index number.

var fileInfo = box.getFileByIndex(0);

(The returned fields are the same as the table above 1. Get all file information.)


Advanced features#

Monitor & Track#

Upload information is sent to Monitor & Track in real time.

Name Type Default Description
monitorURL String Set the monitor and track server address (INNORIX Platform server)
e.g. "http://test.innorix.com/mt/transfer"
innorix.config = {
    default: {
        …
        monitorURL: "http://your monitor server address/mt/transfer",
        …
}};

Integrated mode#

Enable both upload and download functions in the same list control.

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
innorix.config = {
    default: {
        …
        transferMode: "both",
        …
}};

HTTPS (SSL) transfer#

HTTPS (SSL) Upload#

Set the upload server address using "https://"

innorix.config = {
    default: {
        …
        uploadURL : "https://your web server address/upload.jsp",
        …
}};

HTTPS (SSL) Download#

Set the download file URL using "https://".

box.presetDownloadFiles([{
    downloadUrl: "https://your web server address/download.jsp?fileID=1",
    …
}]);

Image upload#

1. Resize and upload#

When uploading an image, a resized image of the specified size is created and uploaded together. (jpg, png, gif, bmp)

Name appendThumbnailProperty()
Description When uploading an image, a resized image of the specified size is created and uploaded together. (jpg, png, gif, bmp)
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");
box.appendThumbnailProperty("ALL", 300, 200, "HORIZONTAL");
box.upload();

2. Add watermark and upload#

When uploading an image, a watermark is added to the original and resized images before uploading. (jpg, png, gif, bmp)

Name appendWatermarkProperty()
Description When uploading an image, a watermark is added to the original and resized images before uploading. (jpg, png, gif, bmp)
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");
box.appendWatermarkProperty("ALL", "./logo.png", "ALL", "LEFT|BOTTOM");
box.upload();

Exabyter UI#

File box#

1. Skin of the file box#

Set the style of the file box.

Name Type Default Description
boxSkin String simple1 Set the file box skin.
simple1 : Dot icons is in front of file names
simple2 : File type icon is in front of a file names
simple3 : Display only file names
detail1 : Add to display file types and modified dates on simple1
detail2 : Add to display file types and modified dates on simple2
detail3 : Add to display file types and modified dates on simple3
innorix.config = {
    default: {
        …
        boxSkin: "simple1",
        …
}};

simple1 (dot icon):

simple2 (file type icon):

simple3 (display filename only):

detail1 / detail2 (add file type and modified date columns):

2. Size of the file box#

Set the size of the file box. (pixel)

Name Type Default Description
boxHeight Number 200 Set the file box height (pixels)
boxWidth Number 200 Set the file box width (pixel)
innorix.config = {
    default: {
        …
        boxHeight: 200,
        boxWidth: 500,
        …
}};

3. Set image preview#

Set image preview in the file box.

Name Type Default Description
showPreviewImage Boolean false Preview the selected image file in the file box.
innorix.config = {
    default: {
        …
        showPreviewImage: true,
        …
}};

4. Click and double click events#

Get file information when clicking or double-clicking.

box.on('onDblClickRows', function (p) {
    console.log(p);
});
Name onDblClickRows
Description When double click a file in the file box
Parameter Description
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)
sliceSize // Slice size (Number) / Byte
validate // Validate the file (Boolean)

5. Drag and drop#

Set whether to use drag and drop.

Name Type Default Description
enableDropZone Boolean true Activate the drop zone in the file box.
innorix.config = {
    default: {
        …
        enableDropZone: true,
        …
}};

6. Context menu#

Set whether to use the right-click context menu.

Name Type Default Description
useContextMenu Boolean true Activate the context menu in the file box.
innorix.config = {
    default: {
        …
        useContextMenu: true,
        …
}};

Upload buttons#

1. Multi file browse button#

Name openFileDialog()
Description Multi-file attachment dialog
<input type="button" value="Multi file browse button" onclick="box.openFileDialog();"/>

2. Single file browse button#

Name openFileDialogSingle()
Description Single-file attachment dialog
<input type="button" value="Single file browse button" onclick="box.openFileDialogSingle();"/>

3. Remove the selected files in the file box#

Name removeSelectedFiles()
Description Delete selected files
<input type="button" value="Remove the selected files" onclick="box.removeSelectedFiles();"/>

4. Remove all files in the file box#

Name removeAllFiles()
Description Delete all files in the file box
<input type="button" value="Remove all files" onclick="box.removeAllFiles();"/>

5. Upload button#

Name upload()
Description Upload all files in the file box
<input type="button" value="Upload" onclick="box.upload();"/>

Download buttons#

1. Download all files in the file box#

Name download()
Description Download all files in the file box
<input type="button" value="Download all files" onclick="box.download();"/>

2. Download the selected files#

Name downloadSelectedFiles()
Description Download selected files in the file box
<input type="button" value="Download the selected files" onclick="box.downloadSelectedFiles();"/>

Transfer window#

1. Display or non-display the transfer window#

Set whether to use the transfer window. If "false", the transfer window is not displayed during transfer.

Name Type Default Description
showTransferWindow Boolean true Display transfer window
innorix.config = {
    default: {
        …
        showTransferWindow: true,
        …
}};

2. Display the file list on the transfer window#

Name Type Default Description
fileListWindowMode Boolean false Display file list in the transfer window
innorix.config = {
    default: {
        …
        fileListWindowMode : true,
        …
}};

3. Add to display each file transfer status on the transfer window#

Name Type Default Description
fileListWindowStatus Boolean false Display file list and transfer status in the transfer window
innorix.config = {
    default: {
        …
        fileListWindowStatus : true,
        …
}};

Auto upload & download#

1. Auto upload when files are attached#

Users can upload automatically without clicking the upload button.

box.on('afterAddFiles', function (p) {
    box.upload();
});

2. Auto download#

Users can download automatically without clicking the download button.

box.on('afterAddFiles', function (p) {
    box.download();
});

3. Auto transfer start#

Users can start the transfer automatically without clicking the transfer start button in the transfer window.

Name Type Default Description
transferStart JSON Text "upload":"auto",
"download":"manual"
Users can start the transfer automatically without clicking the transfer start button in the transfer window.
e.g { "upload":"auto", "download": "manual" }
auto: Starts the transfer along with displaying the transfer window.
manual: The user clicks the start button to start the transfer.
innorix.config = {
    default: {
        …
        transferStart: {
            "upload":"auto",
            "download": "manual"
        }
        …
}};

Custom file box#

Create a custom drop zone#

Configure a custom drag-and-drop area and connect it with the file box.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="../innorix.css">
        <script src="../innorix.js"></script>
        <script>
            var box = new Object();
            var innoJquery = innorix._load("innoJquery");
            window.onload = function() {
                box = innorix.create({
                    el: '#fileBox',
                    config : innorix.config.default
                });
                innoJquery("#dropZone").on({
                    "dragenter": function(innoJqueryevt) {
                        box.setDropZone(innoJqueryevt, this);
                    }
                });
            };
        </script>
    </head>
    <body>
        <table id="dropZone" style="width:555px; height:150px; border: 1px solid green">
            <tr><td align="center">Drop files and folders here</td></tr>
        </table><br /><br />

        <div id="fileBox"></div><br/>
        <input type="button" value="Multi file browse button" onclick="box.openFileDialog();"/>
        <input type="button" value="Upload" onclick="box.upload();"/>
    </body>
</html>

Multiple upload file boxes#

You can configure multiple upload file boxes on a single web page.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="../innorix.css">
        <script src="../innorix.js"></script>
        <script>
            var box1 = new Object();
            var box2 = new Object();

            window.onload = function() {
                box1 = innorix.create({
                    el: '#fileBox1',
                    config : innorix.config.default1
                });
                box2 = innorix.create({
                    el: '#fileBox2',
                    config : innorix.config.default2
                });

                box1.on('uploadComplete', function (p) {
                });
                box2.on('uploadComplete', function (p) {
                });
            };
        </script>
    </head>
    <body>
        <div id="fileBox1"></div><br />
        <input type="button" value="Multi file browse button" onclick="box1.openFileDialog();"/>
        <input type="button" value="Upload" onclick="box1.upload();" /><br /><br />

        <div id="fileBox2"></div><br />
        <input type="button" value="Multi file browse button" onclick="box2.openFileDialog();"/>
        <input type="button" value="Upload" onclick="box2.upload();" />
    </body>
</html>

Multiple download file boxes#

You can configure multiple download file boxes on a single page.

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="../innorix.css">
        <script src="../innorix.js"></script>
        <script>
            var box1 = new Object();
            var box2 = new Object();
            var urlBase = location.href.substring(0, location.href.lastIndexOf("/") + 1);

            window.onload = function() {
                box1 = innorix.create({
                    el: '#fileBox1',
                    config : innorix.config.default1
                });
                box2 = innorix.create({
                    el: '#fileBox2',
                    config : innorix.config.default2
                });

                box1.on('loadComplete', function (p) {
                    box1.presetDownloadFiles([{
                        printFileName: "INNORIX Exabyter Brochure(EN).pdf",
                        fileSize: 1433885,
                        downloadUrl: urlBase + "download.jsp?fileID=1"
                    }]);
                });
                box2.on('loadComplete', function (p) {
                    box2.presetDownloadFiles([{
                        printFileName: "INNORIX Exabyter Brochure(KR).pdf",
                        fileSize: 1433885,
                        downloadUrl: urlBase + "download.jsp?fileID=2"
                    }]);
                });
            };
        </script>
    </head>
    <body>
        <div id="fileBox1"></div><br/>
        <input type="button" value="Download the selected files" onclick="box1.downloadSelectedFiles();"/>
        <input type="button" value="Download all files" onclick="box1.download();"/><br /><br />

        <div id="fileBox2"></div><br/>
        <input type="button" value="Download the selected files" onclick="box2.downloadSelectedFiles();"/>
        <input type="button" value="Download all files" onclick="box2.download();"/>
    </body>
</html>

Major options#

File box#

Name Type Default Description
boxSkin String simple1 Set the file box style
simple1 : Dot icons is in front of file names
simple2 : File type icon is in front of a file names
simple3 : Display only file names
detail1 : Add to display file types and modified dates on simple1
detail2 : Add to display file types and modified dates on simple2
detail3 : Add to display file types and modified dates on simple3
boxHeight Number 200 Set the file box height (pixels)
boxWidth Number 200 Set the file box width (pixel)
useContextMenu Boolean true Activate the right-click context menu
enableDropZone Boolean true Activate drag-and-drop file attachment
maxMassFileListCount Number 1000 Set the maximum number of file attachments before switching to bulk mode
When the number of files is exceeded, it switches to bulk attachment mode.
showPreviewImage Boolean false Activate the image file preview area

Transfer#

Name Type Default Description
uploadURL String Upload URL
transferMode String both 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"
Users can start the transfer automatically without clicking the transfer start button in the transfer window.
e.g { "upload":"auto", "download": "manual" }
auto: Starts the transfer along with displaying the transfer window.
manual: The user clicks the start button to start the transfer.
downloadType String stream Set the download type
direct: http://abc.com/file.dat format
stream: http://abc.com/down.jsp?fid=33 format

Transfer window#

Name Type Default Description
showTransferWindow Boolean true Activate display of the transfer window
draggableTransferWindow Boolean true Activate dragging of the transfer window
transferWindowTitle String Exabyter Set the transfer window title
cancelConfirmation Boolean false Display a confirmation message when canceling
showByteSize Boolean false Enable automatic calculation of transfer size units
iframeOutside Boolean true Display the transfer window outside the frame structure
iframeOutside String Set the innorix.css URL referenced from the external frame
iframeOutsideLeft Number Horizontal position of the displayed transfer window relative to the external frame (pixel)
iframeOutsideTop Number Vertical position of the displayed transfer window relative to the external frame (pixel)
iframeOutsideLocation String Set the frame where the transfer window is displayed
top: Display in the top-level frame
parent: Display in the immediate parent frame
iframeOutsideMarginLeft Number Set the horizontal margin relative to the frame when displaying the transfer window (pixel)
iframeOutsideMarginTop Number Set the vertical margin relative to the frame when displaying the transfer window (pixel)
fileListWindowMode Boolean false Activate the file list display function in the transfer window
fileListWindowStatus Boolean false Activate file list display and file transfer status display in the transfer window

Attachement#

Name Type Default Description
allowType String Array Allow specific extensions to be attached
e.g ["jpg", "gif", "png"]
※ denyType is higher priority than allowType
denyType String Array Prohibit specific extensions from being attached
e.g ["exe", "msi", "cab"]
※ When specifying the same extension policy as allowType, denyType is applied first
useSignature Boolean false Enable protection against extension tampering when attaching files
addDuplicateFile Boolean true Allow duplicate file names to be attached
maxFileCount Number unlimited Set the maximum number of files that can be attached
maxFileSize Number unlimited Set the size of a single file that can be attached (bytes)
maxTotalSize Number unlimited Set the total size of files that can be attached (bytes)

Monitor & Track#

Name Type Default Description
monitorURL String MRT address (INNORIX Platform server)
e.g. "http://test.innorix.com/mt/transfer"

Front end methods#

Dialog#

Name openFileDialog()
Description Multi-file attachment dialog
Return type None (void)
Input parameter None
Name openFileDialogSingle()
Description Single-file attachment dialog
Return type None (void)
Input parameter None

File box#

Name presetDownloadFiles()
Return type None (void)
Description Configure the 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 a file by file ID in the file box
Return type None (void)
Input parameter (String)
Name removeFileByIndex()
Description Delete the file corresponding to the index in the file box
Return type None (void)
Input parameter (Number)
Name removeFileById()
Description Delete a file by file ID in the file box
Return type None (void)
Input parameter (String)
Name removeSelectedFiles()
Description Delete selected files in the file box
Return type None (void)
Input parameter None
Name removeAllFiles()
Description Delete all files in the file box
Return type None (void)
Input parameter None
Name destory()
Description Remove the file box
Return type None (void)
Input parameter None

File information#

Name getAllFiles()
Description View all file information in the file box
Input parameter None

Return type (# JSON Object):

// Upload file value
[{
    "basePath":"D: \test\vol.7",   // Attached path (String)
    "boxId":"fileBox",             // File box ID (String)
    "filePath":"D:\test\vol.7\Data Centre of Future.ppt",   // Full path of the attached file (String)
    "fileSize":2506093,            // File size (Number) / Byte
    "folderName":"",               // Folder name (String)
    "id":"fda07096-917b-4dde-fe23-bb0114fbe8ad",   // File ID (String)
    "mode":"upload",               // Transfer mode (String)
    "printFileName":"Data Centre of Future.ppt",   // Displayed filename (String)
    "rootName":"",                 // Folder name (String)
    "rowID":"fda07096-917b-4dde-fe23-bb0114fbe8ad",   // File row index ID (String)
    "selected":false,              // Selected or not (Boolean)
    "transferType":"upload",       // Transfer mode (String)
    "uniqueFileName":"950491e5……db6d5529e404.dat",   // Unique file name (String)
    "uploadUrl":"http://localhost/webpages/./upload.jsp"   // Upload URL (String)
}]

// Download file value
[{
    "downloadUrl":"http://localhost/download.jsp?fileID=1",   // Download URL (String)
    "fileSize":1433885,            // File size (Number) / Byte
    "id":"8d6f7747-414e-4ad6-bc84-aa4392edf7d6",   // File ID (String)
    "mode":"download",             // Transfer mode (String)
    "printFileName":"INNORIX.pdf", // Displayed filename (String)
    "rowID":"8d6f7747-414e-4ad6-bc84-aa4392edf7d6",   // File row index ID (String)
    "selected":true,               // Selected or not (Boolean)
    "sliceSize":2097152,           // File slice size (Number) / Byte
    "transferType":"download",     // Transfer mode (String)
    "validate":true                // Validate the file (Boolean)
}]
Name getSelectedFiles()
Description View information for the selected files in the file box
Return type # JSON Object (Upload / Download file value — Same structure as getAllFiles())
Input parameter None
Name getUploadFiles()
Description View information for all upload files in the file box
Return type # JSON Object - Upload file value (Same structure as the Upload structure of getAllFiles())
Input parameter None
Name getDownloadFiles()
Description View information for all download files in the file box
Return type # JSON Object - Download file value (Same structure as the Download structure of getAllFiles())
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 selected files in the file box
Return type (Number)
Input parameter None
Name getUploadFileSize()
Description Get the total size of upload files in the file box
Return type (Number)
Input parameter None
Name getDownloadFileSize()
Description Get the total size of 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 file information by file index in the file box
Return type # JSON Object (Upload / Download file value — Same structure as getAllFiles())
Input parameter (Number)
Name getFileById()
Description Get file information by file ID in the file box
Return type # JSON Object (Upload / Download file value — Same structure as getAllFiles())
Input parameter (String)

Transfer#

Name upload()
Description Upload all files in the file box
Return type None (void)
Input parameter None
Name uploadCancel()
Description Cancel upload
Return type None (void)
Input parameter None
Name download()
Description Download all files in the file box
Return type None (void)
Input parameter None
Name downloadSelectedFiles()
Description Download selected files in the file box
Return type None (void)
Input parameter None
Name setPostData()
Description Add custom POST Data to the header
Return type None (void)
Input parameter # JSON Object { Name : Value, Name : Value }
Name setFilePostDataByIndex()
Description Add custom POST Data to the header by file index
Return type None (void)
Input parameter # JSON Object — Index(Number), { Name : Value, Name : Value }
Name setSize()
Description Set the file box size
Return type None (void)
Input parameter Width(Number), Height(Number)
Name setCookie()
Description Set the browser session information
Return type None (void)
Input parameter (String)

setCookie example — maintain session information after loading the file box:

box.on('loadComplete', function (p) {
    box.setCookie("JSESSIONID=<%=session.getId()%>");
}…
Name getTransferMode()
Description Check the current transfer mode of the file box
Return type (String)
upload : Upload mode
download : Download mode
both : Upload and download mode
Input parameter None
Name appendThumbnailProperty()
Description When uploading an image, create a resized image of the specified size and upload it together. (jpg, png, gif, bmp)
Return type None (void)
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 Add a watermark to the original and resized images when uploading an image. (jpg, png, gif, bmp)
Return type None (void)
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 None (void)
Input parameter None (void)

Back end methods#

Upload#

Name setOverwrite()
Description Overwrite files with the same name
Return type None (void)
Input parameter (Boolean) – true, false
Name run()
Description Start upload
Return type None (void)
Input parameter None (void)
Name setFileName()
Description Set the file name for saving the uploaded file
Return type None (void)
Input parameter String
Name setDirectory()
Description Set the file path for saving the uploaded file
Return type None (void)
Input parameter String

Front end events#

File box#

Name loadComplete
Description File box creation completed
Parameter None (void)
Name beforeAddFile
Description Before adding files to the file box

Parameter (# JSON Object):

{
    "basePath":"C:\\data",           // Attached path (String)
    "boxId":"fileControl",           // File box ID (String)
    "filePath":"C:\\data\\blue.pdf", // Attached file full path (String)
    "fileSize":9437184,              // File size (Number) / Byte
    "mode":"upload",                 // Transfer mode (String)
    "uploadUrl":"http://{Server}/upload.jsp"   // Upload URL (String)
}
Name afterAddFiles
Description After adding files to the file box

Parameter (# JSON Object):

[{
    "basePath":"D:\",              // Attached path (String)
    "boxId":"fileControl",         // File box ID (String)
    "filePath":"D:\Data.ppt",      // Attached file full path (String)
    "fileSize":2506093,            // File size (Number) / Byte
    "folderName":"",               // Folder name (String)
    "id":"fda07096-….114fbe8ad",   // File ID (String)
    "mode":"upload",               // Transfer mode (String)
    "printFileName":"Data.ppt",    // Displayed filename (String)
    "rootName":"",                 // Folder name (String)
    "rowID":"fda070….114fbe8ad",   // File row index ID (String)
    "selected":true,               // Selected or not (Boolean)
    "transferType":"upload",       // Transfer mode (String)
    "uniqueFileName":"950..404.dat",   // Unique file name (String)
    "uploadUrl":"http://{Server}/upload.jsp"   // Upload URL (String)
},{
    "downloadUrl":"http://{Server}/download.jsp?fileID=1",   // Download URL (String)
    "fileSize":1433885,            // File size (Number) / Byte
    "id":"8d6f7747-…92edf7d6",     // File ID (String)
    "mode":"download",             // Transfer mode (String)
    "printFileName":"INNORIX.pdf", // Displayed filename (String)
    "rowID":"8d6f7747-…92edf7d6",  // File row index ID (String)
    "selected":true,               // Selected or not (Boolean)
    "sliceSize":2002,              // Slice size (Number) / Byte
    "transferType":"download",     // Transfer mode (String)
    "validate":true                // Validate the file (Boolean)
}]
Name beforeRemoveFiles
Description Before deleting files from the file box
Parameter # JSON Object (Array of file information with the same structure as afterAddFiles)
Name removeFiles
Description After deleting files from the file box
Parameter # JSON Object (Array of file information with the same structure as afterAddFiles)
Name addFileError
Description When an error occurs while attaching files to the file box

Parameter (# JSON Object):

[{
    "basePath":"D:\",              // Attached path (String)
    "boxId":"fileControl",         // File box ID (String)
    "filePath":"D:\Data.ppt",      // Attached file full path (String)
    "fileSize":2506093,            // File size (Number) / Byte
    "mode":"upload",               // Transfer mode (String)
    "uploadUrl":"http://{Server}/upload.jsp"   // 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 selecting files in the file box
Parameter # JSON Object (Array of file information with the same structure as afterAddFiles)
Name onUnSelectRows
Description When deselecting files in the file box
Parameter # JSON Object (Array of file information with the same structure as afterAddFiles)
Name onDblClickRows
Description When double-clicking a file in the file box
Parameter # JSON Object (Array of file information with the same structure as afterAddFiles)
Name dropzoneShow
Description When drag and drop is enabled
Parameter
Name dropzoneHide
Description When drag and drop is disabled
Parameter

Transfer#

Name uploadStart
Description Start upload

Parameter (# JSON Object):

{
    "files":[{                     // Upload file info (Array)
        "basePath":"D:\",          // Attached path (String)
        "boxId":"fileControl",     // File box ID (String)
        "filePath":"D:\Data.ppt",  // Attached file full path (String)
        "fileSize":2506093,        // File size (Number) / Byte
        "folderName":"",           // Folder name (String)
        "id":"fda07096-….114fbe8ad",   // File ID (String)
        "mode":"upload",           // Transfer mode (String)
        "printFileName":"Data.ppt",    // Displayed filename (String)
        "rootName":"",             // Folder name (String)
        "rowID":"fda070….114fbe8ad",   // File row index ID (String)
        "selected":false,          // Selected or not (Boolean)
        "transferType":"upload",   // Transfer mode (String)
        "uniqueFileName":"950..404.dat",   // Unique file name (String)
        "uploadUrl":"http://{Server}/upload.jsp"   // Upload URL (String)
    }],
    "progress":0,                  // Progress (Number) / %
    "retries":0,                   // Retry count (Number) / Times
    "speed":0,                     // Transfer speed (Number) / Byte/s
    "state":"Before",              // Status (String)
    "totalSize":2506093,           // Total size (Number) / Byte
    "transferID":"d77-…29d",       // Transfer ID (String)
    "transferSize":0,              // Transfer size (Number) / Byte
    "type":"upload"                // Transfer mode (String)
}
Name uploadComplete
Description Upload complete
Parameter # JSON Object (Same structure as uploadStart)
Name uploadCancel
Description Upload canceled

Parameter (# JSON Object):

{
    "files":[{                     // Upload file info (Array)
        "clientFileName":"Data.ppt",       // Displayed filename (String)
        "clientFilePath":"D:\Data.ppt",    // Attached file full path (String)
        "boxId":"fileControl",             // File box ID (String)
        "basePath":"D:\",                  // Attached path (String)
        "customeValue":"",                 // Customized value (String)
        "fileSize":2506093,                // File size (Number) / Byte
        "folderName":"",                   // Folder name (String)
        "fileState":"wait",                // Transfer status (String)
        "isFolder":false,                  // Folder information (Boolean)
        "rootName":"",                     // Folder name (String)
        "rowID":"fda070….114fbe8ad",       // File row index ID (String)
        "serverFileName":"Data.dat",       // Save file name (string)
        "serverFilePath":"C:/{Server}/Data.dat",   // Save folder path (String)
        "uploadUrl":"http://{Server}/upload.jsp"   // Upload URL (String)
    }],
    "progress":20,                 // Progress (Number) / %
    "retries":0,                   // Retry count (Number)
    "speed":8584793,               // Transfer speed (Number) / Byte/s
    "state":"Cancel",              // Status (String)
    "stausMessage":{               // Status (Object)
        "errorCode":false,         // Error code (Boolean/String)
        "id":"trnasferring"        // Transfer status (String)
    },
    "totalSize":2506093,           // Total size (Number) / Byte
    "transferID":"d77-…29d",       // Transfer ID (String)
    "transferSize":1203022,        // Transfer size (Number) / Byte
    "type":"upload"                // Transfer mode (String)
}
Name downloadStart
Description Start download

Parameter (# JSON Object):

{
    "files":[{                     // Download file info (Array)
        "downloadUrl":"http://{Server}/download.jsp?fileID=1",   // Download URL (String)
        "fileSize":1433885,        // File size (Number) / Byte
        "id":"8d6f7747-…92edf7d6", // File ID (String)
        "mode":"download",         // Transfer mode (String)
        "printFileName":"INNORIX.pdf",     // Displayed filename (String)
        "rowID":"8d6f7747-…92edf7d6",      // File row index ID (String)
        "selected":false,          // Selected or not (Boolean)
        "sliceSize":2097152,       // Slice size (Number) / Byte
        "transferType":"download", // Transfer mode (String)
        "validate":true            // Validate the file (Boolean)
    }],
    "progress":0,                  // Progress (Number) / %
    "retries":0,                   // Retry count (Number) / Times
    "speed":0,                     // Transfer speed (Number) / Byte/s
    "state":"Before",              // Status (String)
    "totalSize":1433885,           // Total size (Number) / Byte
    "transferID":"d77-…29d",       // Transfer ID (String)
    "transferSize":0,              // Transfer size (Number) / Byte
    "type":"download"              // Transfer mode (String)
}

Back end events#

Upload#

Name getFileInfo
Description Get file information before upload on the server
Parameter Description
_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 Individual file transfer in progress on the server
Parameter Description
_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 individual file transfer is complete on the server
Parameter Description
_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

On this page

  • Table of contents (INDEX)
  • Install Exabyter
  • Install the product files
  • 1. Copy the front end files
  • 2. Create the upload path and give permission
  • 3. Copy the back end files
  • 4. Enter your license key
  • Upload & download test
  • 1. Upload test
  • 2. Download test
  • Exabyter upload
  • STEP1: Front end process
  • 1. File size and number of files
  • 2. File types
  • 3. Duplicate files
  • 4. Get all file information
  • 5. Get a specific file information
  • 6. Set POST Data
  • STEP2: Back end process
  • 1. Change the upload path
  • 2. Change the file name
  • 3. Get all file information
  • 4. Get transfer status
  • 5. Save the uploaded information
  • STEP3: Upload complete
  • Upload complete event
  • Exabyter download
  • Make the file list
  • 1. Download file URL
  • 2. Displayed file name
  • 3. File size (byte)
  • Direct or stream download
  • 1. Direct download
  • 2. Stream download
  • Get the download file information
  • 1. Get all file information
  • 2. Get a specific file information
  • Advanced features
  • Monitor & Track
  • Integrated mode
  • HTTPS (SSL) transfer
  • HTTPS (SSL) Upload
  • HTTPS (SSL) Download
  • Image upload
  • 1. Resize and upload
  • 2. Add watermark and upload
  • Exabyter UI
  • File box
  • 1. Skin of the file box
  • 2. Size of the file box
  • 3. Set image preview
  • 4. Click and double click events
  • 5. Drag and drop
  • 6. Context menu
  • Upload buttons
  • 1. Multi file browse button
  • 2. Single file browse button
  • 3. Remove the selected files in the file box
  • 4. Remove all files in the file box
  • 5. Upload button
  • Download buttons
  • 1. Download all files in the file box
  • 2. Download the selected files
  • Transfer window
  • 1. Display or non-display the transfer window
  • 2. Display the file list on the transfer window
  • 3. Add to display each file transfer status on the transfer window
  • Auto upload & download
  • 1. Auto upload when files are attached
  • 2. Auto download
  • 3. Auto transfer start
  • Custom file box
  • Create a custom drop zone
  • Multiple upload file boxes
  • Multiple download file boxes
  • Major options
  • File box
  • Transfer
  • Transfer window
  • Attachement
  • Monitor & Track
  • Front end methods
  • Dialog
  • File box
  • File information
  • Transfer
  • Transfer window
  • Back end methods
  • Upload
  • Front end events
  • File box
  • Transfer
  • Back end events
  • Upload