The HTML5 progress
event is not supported by Internet Explorer 9 (or older). However, progress tracking can still be achieved in these browsers by sending intervaled requests to the server for upload progress updates. Simple Ajax Uploader has built-in support for handling this process.
When the plugin detects support for the HTML5 File API, the native progress
event is used to track upload progress.
For older browsers (i.e., IE9 and below), the plugin can be enabled to automatically retrieve progress updates from the server over the course of the upload to ensure a consistent, pleasant experience for all users.
As of version 1.11, Simple Ajax Uploader provides three different options for handling server-side progress updates:
PHP Session Upload Progress is the easiest to use, as it comes enabled by default (but only in PHP 5.4+).
In most cases, the only configuration needed will be to upload sessionProgress.php (extras folder) to your web directory, and then set the sessionProgressUrl
Javascript option to point to its location.
PHP defaults are used by the plugin for all progress settings, so unless you have disabled or changed any of the session.upload_progress
runtime options, no further adjustments should be necessary.
Note: This method will not work for cross-domain (CORS) requests.
This method requires PHP with the APC extension installed and the apc.rfc1867
option enabled.
(to check if APC is installed, use phpinfo()
to view all installed PHP extensions).
Note: If APC is already installed, you may still need to add apc.rfc1867=1
to apc.ini, as it is not enabled by default.
To APC install:
sudo pecl install apc
Accept the default settings, and then create a configuration file:
sudo vi /etc/php.d/apc.ini
Add these two lines, and then save:
extension=apc.so apc.rfc1867=1
Restart your server for the changes to take effect.
Finally, save uploadProgress.php (included in the extras folder) to your web directory, and set the progressUrl
option in your Javascript settings to the URL of its location.
Upload Progress Module is not distributed with the Nginx source, so you will probably need to install it. The module's documentation includes installation info, as well as a sample configuration.
Note: Unlike Apache, Nginx modules cannot be added on. Instead, you must recompile Nginx with the new module.
Once the Upload Progress Module is installed and configured, add the module's upload_progress_json_output
directive to your Nginx configuration.
Finally, set the nginxProgressUrl
option in your Javascript settings to the location in which the report_uploads
was added in your Nginx configuration.
Simple Ajax Uploader
More code projects from LPology