- Upload Suite Overview
- What's New?
- Choosing Upload Technology
- Evaluating Upload Suite
- Upload Suite Editions
- System Requirements
- Installation and Deployment Notes
- ActiveX/Java Uploader
- Where ActiveX/Java Uploader Can Be Useful
- Before You Started with ActiveX/Java Uploader
- ActiveX/Java Uploader Fundamentals
- ActiveX/Java Uploader User Interface
- Getting Started
- Using ActiveX/Java Uploader
- Uploading in ASP.NET
- Uploading in PHP
- Uploading in Other Platforms
- Configuring and Handling Upload on Client Side
- Configuring Common Upload Settings in ActiveX/Java Uploader
- Configuring Files to be Uploaded in ActiveX/Java Uploader
- Upload Modes Best Practices
- Sending All Files at Once or in Several Parts in ActiveX/Java Uploader
- Configuring Fail-safe Upload
- Configuring POST Format
- Handling Upload Completion
- Adding Authentication
- Uploading to Amazon S3 Cloud Storages
- Uploading Images
- Customizing User Interface
- Configuring Restriction Rules for Files
- Using ActiveX/Java Uploader at Runtime
- Troubleshooting
- Reference
- HTML5/Flash Uploader
- Licensing Information
- Legal Notices
Upload Modes Best Practices
There are number of upload modes in ActiveX/Java Uploader. This topic provides the best practices along with number of the most common configurations, that allows you to configure uploader efficiently. //Explain that this topic is about efficient upload, so no converters are considered. The following rules are the key practices in order to make upload process more efficient:
- Use chunks for large files.
- Use concurrent upload for significant increase of upload speed.
- Use package upload to send images.
For more information about uploader modes, including packages, chunks, and parallel upload, see the Sending All Files at Once or in Several Parts topic.
Also this topic provides configurations for the most common upload tasks:
| ASP.NET/PHP | pictures | documents | large files | mixed files |
|---|---|---|---|---|
| usual upload | 5 files per package | 10 files per package | 1 file per package | 3 files per package |
| 10Mb chunks | 10Mb chunks | |||
| code snippet | code snippet | code snippet | code snippet | |
| fast upload | 5 files per package | 10 files per package | 1 file per package | 3 files per package |
| 10Mb chunks | 10Mb chunks | |||
| 4 parallel connections | 4 parallel connections | 4 parallel connections | 4 parallel connections | |
| code snippet | code snippet | code snippet | code snippet | |
| fail-safe upload | Other platforms | pictures | documents | large files | mixed files |
| usual upload | 5 files per package | 10 files per package | 1 file per package | 3 files per package |
| code snippet | code snippet | code snippet | code snippet | |
| fast upload | 5 files per package | 10 files per package | 1 file per package | 3 files per package |
| 4 parallel connections | 4 parallel connections | 4 parallel connections | 4 parallel connections | |
| code snippet | code snippet | code snippet | code snippet | |
| fail-safe upload |
Upload on ASP.NET or PHP
Usual Upload
Usual Upload of Pictures
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings FilesPerPackage="5" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setFilesPerPackage(5);Usual Upload of Documents
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings FilesPerPackage="10" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setFilesPerPackage(10);Usual Upload of Large Files
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings FilesPerPackage="1" ChunkSize="10485760" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setFilesPerPackage(1);
$uploader->getUploadSettings()->setChunkSize(10485760);Usual Upload of Mixed Files
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings FilesPerPackage="3" ChunkSize="10485760" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setFilesPerPackage(3);
$uploader->getUploadSettings()->setChunkSize(10485760);Fast Upload
The main idea in fast upload is enabling multi-threaded upload. This trick can yield up to 50% increase of upload speed if a channel between a client computer and a web server is fast enough. In multi-threaded upload we divide data into several pieces and upload them simultaneously, each data piece within a separate HTTP request. To enable this feature set the MaxConnectionCount property to a positive value (we found that the best choice would be 3-4 connections). Also you should turn packages and/or chunks mode on (the FilesPerPackage property and/or the ChunkSize property has a positive value). For more information about multi-threaded upload see the Enabling Multi-threaded Upload via ActiveX/Java Uploader in ASP.NET and Enabling Multi-threaded Upload via ActiveX/Java Uploader in PHP topics, and the Sending All Files at Once or in Several Parts in ActiveX/Java Uploader topic will help you with packages and chunks.
It is a recommended to hide numbers in Upload dialog configuration when multi-threaded upload is turned on and FilesPerPackage is more than 1.
Fast Upload of Pictures
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings MaxConnectionCount="4" FilesPerPackage="5" />
<UploadProgressDialog PreparingText = "" InfoText = "" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setMaxConnectionCount(4);
$uploader->getUploadSettings()->setFilesPerPackage(5);
$uploadProgressDialog = $uploader->getUploadProgressDialog();
$uploadProgressDialog->setPreparingText("");
$uploadProgressDialog->setInfoText("");Fast Upload of Documents
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings MaxConnectionCount="4" FilesPerPackage="10" />
<UploadProgressDialog PreparingText = "" InfoText = "" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setMaxConnectionCount(4);
$uploader->getUploadSettings()->setFilesPerPackage(10);
$uploadProgressDialog = $uploader->getUploadProgressDialog();
$uploadProgressDialog->setPreparingText("");
$uploadProgressDialog->setInfoText("");Fast Upload of Large Files
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings MaxConnectionCount="4" FilesPerPackage="1" ChunkSize="10485760" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setMaxConnectionCount(4);
$uploader->getUploadSettings()->setFilesPerPackage(1);
$uploader->getUploadSettings()->setChunkSize(10485760);Fast Upload of Mixed Files
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings MaxConnectionCount="4" FilesPerPackage="3" ChunkSize="10485760" />
<UploadProgressDialog PreparingText = "" InfoText = "" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setMaxConnectionCount(4);
$uploader->getUploadSettings()->setFilesPerPackage(3);
$uploader->getUploadSettings()->setChunkSize(10485760);
$uploadProgressDialog = $uploader->getUploadProgressDialog();
$uploadProgressDialog->setPreparingText("");
$uploadProgressDialog->setInfoText("");Fail-safe Document Upload
AutoRecovery* properties. Not sure what is the best upload mode here. May be we should use zip converter and send one archive file using chunks?
<aur:Uploader ID="Uploader1" runat="server" >
<UploadSettings MaxConnectionCount="4" FilesPerPackage="5" />
<UploadProgressDialog PreparingText = "" InfoText = "" />
</aur:Uploader>$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setMaxConnectionCount(4);
$uploader->getUploadSettings()->setFilesPerPackage(5);
$uploadProgressDialog = $uploader->getUploadProgressDialog();
$uploadProgressDialog->setPreparingText("");
$uploadProgressDialog->setInfoText("");var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
maxConnectionCount: 4,
filesPerPackage: 5
},
uploadProgressDialog: { preparingText: "", infoText: ""}
});Upload on Other Platforms
(no chunks)
Usual Upload
Usual Upload of Pictures
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
filesPerPackage: 5
}
});Usual Upload of Documents
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
filesPerPackage: 10
}
});Usual Upload of Large Files
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
filesPerPackage: 1
}
});Usual Upload of Mixed Files
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
filesPerPackage: 3
}
});Fast Upload
The main idea in fast upload is enabling multi-threaded upload. This trick can yield up to 50% increase of upload speed if a channel between a client computer and a web server is fast enough. In multi-threaded upload we divide data into several pieces and upload them simultaneously, each data piece within a separate HTTP request. To enable this feature set the MaxConnectionCount property to a positive value (we found that the best choice would be 3-4 connections). Also you should turn packages and/or chunks mode on (the FilesPerPackage property and/or the ChunkSize property has a positive value). For more information about multi-threaded upload see the Enabling Multi-threaded Upload via ActiveX/Java Uploader in Other Platforms topic, and the Sending All Files at Once or in Several Parts in ActiveX/Java Uploader topic will help you with packages and chunks.
It is a recommended to hide numbers in Upload dialog configuration when multi-threaded upload is turned on and FilesPerPackage is more than 1.
Fast Upload of Pictures
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
maxConnectionCount: 4,
filesPerPackage: 5
},
uploadProgressDialog: { preparingText: "", infoText: ""}
});Fast Upload of Documents
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
maxConnectionCount: 4,
filesPerPackage: 10
},
uploadProgressDialog: { preparingText: "", infoText: ""}
});Fast Upload of Large Files
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
maxConnectionCount: 4,
filesPerPackage: 1
}
});Fast Upload of Mixed Files
var u = $au.uploader({
id: 'Uploader1',
uploadSettings: {
maxConnectionCount: 4,
filesPerPackage: 3
},
uploadProgressDialog: { preparingText: "", infoText: ""}
});See Also
Manual
- Saving Uploaded Files in ActiveX/Java Uploader ASP.NET
- Saving Uploaded Files in ActiveX/Java Uploader PHP
- Saving Uploaded Files in ActiveX/Java Uploader Other Platforms
- Enabling Multi-threaded Upload via ActiveX/Java Uploader in ASP.NET
- Enabling Multi-threaded Upload via ActiveX/Java Uploader in PHP
- Enabling Multi-threaded Upload via ActiveX/Java Uploader in Other Platforms
- Sending All Files at Once or in Several Parts in ActiveX/Java Uploader
- Configuring Fail-safe Upload