SALES INQUIRY
Your inquiry has been received.
We will reply to you as soon as possible.
Talk to technical team
Preferred way of support
Your preferred date and time
02:00 PM
Your preferred date and time
02:00 PM
Your inquiry has been received.
We will reply to you as soon as possible.
Online self check
Checking your Exabyter automatically, Enter the URL address and click “Start” button.
http://www.innorix.com/Exabyter/upload.html
Checking now (10/20)
The self check is finished
http://www.innorix.com/Exabyter/upload.html Retry
Found 10 problems out of 20.
See reportCan not found innorix.js
Have no permission the save path
Check againCan not found innorix.css
Check againVideo call
Your preferred date and time
02:00 PM
Your inquiry has been received.
We will reply to you as soon as possible.
Remote support
Your preferred date and time
02:00 PM
Your inquiry has been received.
We will reply to you as soon as possible.
Messenger chat
Your inquiry has been received.
We will reply to you as soon as possible.
Email inquiry
tech@innorix.com Copy to clipboard
Online inquiry
Your inquiry has been received.
We will reply to you as soon as possible.
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 =
My inquiry - B2341 4899 8734 WaitingWaitingCompleted
Type
Technical inquiry
Address
https://innorix.com
Contents
why the innorix is not working with a apple computer, i can't install the software to use Samsung portal.
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 |
/INNORIX/bin/INNORIX-NET-r1475.dll | dll | Product library |
/INNORIX/bin/Ionic.Zip.dll | dll | Common library |
/INNORIX/NET/upload.aspx | aspx | Upload processing file |
/INNORIX/NET/download.aspx | aspx | Download processing file |
/INNORIX/NET/upload.aspx.cs | cs | Upload processing file |
/INNORIX/NET/download.aspx.cs | cs | Download processing file |
/INNORIX/lib/INNORIX-Transfer.lib.php | php | Product library |
/INNORIX/lib/pclzip.lib.php | php | Common library |
/INNORIX/PHP/upload.php | php | Upload processing file |
/INNORIX/PHP/download.php | php | Download processing file |
/INNORIX/WEB-INF/classes/ | folder | Product class folder |
/INNORIX/WEB-INF/jsp/ | folder | Product jsp folder |
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar | JAR | Product library |
/INNORIX/WEB-INF/lib/JSON-java.jar | JAR | Common library |
/INNORIX/WEB-INF/innorix-servlet.xml | xml | Product xml file |
/INNORIX/WEB-INF/web.xml | xml | Spring xml file |
/INNORIX/SPRING/upload.jsp | JSP | Upload processing file |
/INNORIX/SPRING/download.jsp | JSP | Download processing file |
/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 |
/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 |
/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 |
/INNORIX/lib/INNORIX-Transfer.lib.php | php | Product library |
/INNORIX/lib/pclzip.lib.php | php | Common library |
/INNORIX/PHP/upload.php | php | Upload processing file |
/INNORIX/PHP/download.php | php | Download processing file |
/INNORIX/WEB-INF/classes/ | folder | Product class folder |
/INNORIX/WEB-INF/jsp/ | folder | Product jsp folder |
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar | JAR | Product library |
/INNORIX/WEB-INF/lib/JSON-java.jar | JAR | Common library |
/INNORIX/WEB-INF/innorix-servlet.xml | xml | Product xml file |
/INNORIX/WEB-INF/web.xml | xml | Spring xml file |
/INNORIX/SPRING/upload.jsp | JSP | Upload processing file |
/INNORIX/SPRING/download.jsp | JSP | Download processing file |
/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 |
/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 |
/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.
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 |
/INNORIX/bin/INNORIX-NET-r1475.dll | dll | Product library |
/INNORIX/bin/Ionic.Zip.dll | dll | Common library |
/INNORIX/NET/upload.aspx | aspx | Upload processing file |
/INNORIX/NET/download.aspx | aspx | Download processing file |
/INNORIX/NET/upload.aspx.cs | cs | Upload processing file |
/INNORIX/NET/download.aspx.cs | cs | Download processing file |
/INNORIX/lib/INNORIX-Transfer.lib.php | php | Product library |
/INNORIX/lib/pclzip.lib.php | php | Common library |
/INNORIX/PHP/upload.php | php | Upload processing file |
/INNORIX/PHP/download.php | php | Download processing file |
/INNORIX/WEB-INF/classes/ | folder | Product class folder |
/INNORIX/WEB-INF/jsp/ | folder | Product jsp folder |
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar | JAR | Product library |
/INNORIX/WEB-INF/lib/JSON-java.jar | JAR | Common library |
/INNORIX/WEB-INF/innorix-servlet.xml | xml | Product xml file |
/INNORIX/WEB-INF/web.xml | xml | Spring xml file |
/INNORIX/SPRING/upload.jsp | JSP | Upload processing file |
/INNORIX/SPRING/download.jsp | JSP | Download processing file |
/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 |
/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 |
/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.
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
…
/*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 |
/INNORIX/lib/INNORIX-Transfer.lib.php | php | Product library |
/INNORIX/lib/pclzip.lib.php | php | Common library |
/INNORIX/PHP/upload.php | php | Upload processing file |
/INNORIX/PHP/download.php | php | Download processing file |
/INNORIX/WEB-INF/classes/ | folder | Product class folder |
/INNORIX/WEB-INF/jsp/ | folder | Product jsp folder |
/INNORIX/WEB-INF/lib/INNORIX-JAVA-v10-r1450.jar | JAR | Product library |
/INNORIX/WEB-INF/lib/JSON-java.jar | JAR | Common library |
/INNORIX/WEB-INF/innorix-servlet.xml | xml | Product xml file |
/INNORIX/WEB-INF/web.xml | xml | Spring xml file |
/INNORIX/SPRING/upload.jsp | JSP | Upload processing file |
/INNORIX/SPRING/download.jsp | JSP | Download processing file |
/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 |
/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 |
/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.
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.
2. Set the installation path and port number.
Default installation path: ROOT/opt/INNORIX/
Default port number: 80 (HTTP) / 443 (HTTPS)
…
/* 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
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.
Setup storage
Enter object storage connection information in the back-end files below:
/INNORIX/JSP/upload.jsp
/INNORIX/JSP/download.jsp
AWS S3
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
String endpointSuffix = "Endpoint suffix";
String storageAccount = "Account name";
String seceretAccessKey = "Account key";
Dell/EMC
String URI = "REST endpoint";
String ACCESS_KEY_ID = "Access key ID";
String SECRET_KEY = "Secret access key";
String BUCKET = "Bucket path";
Other object storage
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.
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.
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 |
/* config.js */
var box_config = {
example_box: {
…
transferMode: "upload", /* "both"|"download"|"upload" */
…
}
}
Default settings for uploading
Set the upload processing file path at uploadURL.
// 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.
// 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) |
/* 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. |
/* 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
// 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. |
/* config.js */
var box_config = {
example_box: {
…
isPresignedUrl: true,
…
}
}
Enter object storage connection information in the back-end files below:
/INNORIX/JSP/upload.jsp
/* 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.
/* config.js */
var box_config = {
example_box: {
…
enableDropZone: true,
…
}
}
Put a file browse button.
// upload.html
<input type="button" value="Browse" onclick="box.openFileDialog();"/>
4. Upload button
// 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.)
// 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>
/* 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.
// 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. |
/* config.js */
var box_config = {
example_box: {
…
isPresignedUrl: true,
…
}
}
Enter object storage connection information in the back-end files below:
/INNORIX/JSP/download.jsp
/* 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.
// download.html
<body>
<div id="fileBox"></div><br />
<input type="button" value="download" onclick="box.download();" />
</body>
Add a button to download selected files.
// 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>
/* config.js */
var box_config = {
example_box: {
…
fileListWindowMode: false,
fileListWindowStatus: false,
…
}
Default + file list:
<Default + File list>
/* config.js */
var box_config = {
example_box: {
…
fileListWindowMode: true,
fileListWindowStatus: false,
…
}
Default + file list + status:
<Default + File list + Status>
/* config.js */
var box_config = {
example_box: {
…
fileListWindowMode: true,
fileListWindowStatus: true,
…
}
Activate the graph:
<Activate the graph>
/* 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.
/* 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. |
// 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. |
// 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. |
// 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. |
// 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.
// 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"); |
// 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") |
// 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) |
// upload.html
<script>
var box = new Object();
window.onload = function() {
box = innorix.create({
el: '#fileBox',
uploadURL: "./upload.jsp",
useEncrypt: true,
…
/* 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) |
// upload.html
<script>
var box = new Object();
window.onload = function() {
box = innorix.create({
el: '#fileBox',
uploadURL: "./upload.jsp",
useEncryptMeta: true,
…
// 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. |
// 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. |
// 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.
// 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.
// 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>
// 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 |
// 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 |
// 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.
// 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.
<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. |
// 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. |
// 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. |
// 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. |
// 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.
// 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. |
// 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. |
// 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. |
// 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.
// 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.
// 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.
// 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.
// 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.
// 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.
// 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.
// 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.
// 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. |
// 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. |
// 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. |
// 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. |
// 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 |
// 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 |
// 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.
// 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. |
// 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) |
// 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.
// 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.
// 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>
// 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.
// 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.
// jsp code
<%@ page import="com.innorix.transfer.InnorixUpload" %>
<%
…
if(_action.equals("getFileInfo")){
//
uploader.showCustomError("1500", "CustomErrorTitle", "CustomErrorMessage", false);
}
// 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.
// 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.
/* 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.
// 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.
// 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.
/* 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()%>"); }… |
// 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>