Configuring Common Upload Settings in ActiveX/Java Uploader

ActiveX/Java Uploader is a client-side application which does not save files on server disk. It simply submits user-selected files to a page specified in its settings and redirects users to another page when the upload is completed. The present topic describes how to specify a page to which ActiveX/Java Uploader submits files and a page where ActiveX/Java Uploader redirects users when upload is successfully completed.

Besides these URLs, ActiveX/Java Uploader allows to specify:

Upload Settings

All the upload-related parameters can be configured via the UploadSettingsUploadSettings (ASP.NET)UploadSettings (PHP)uploadSettings (JavaScript) property of the UploaderUploader (ASP.NET)Uploader (PHP)uploader (JavaScript) class. Here the upload page is specified with the ActionUrlActionUrl (ASP.NET)ActionUrl (PHP)actionUrl (JavaScript) property, and the redirection page is specified with RedirectUrlRedirectUrl (ASP.NET)RedirectUrl (PHP)redirectUrl (JavaScript).

ASP.NET
<aur:Uploader ID="Uploader1" runat="server">
    <UploadSettings ActionUrl="upload.aspx" 
        RedirectUrl="gallery.aspx" />
</aur:Uploader>
PHP
$uploader = new Uploader("Uploader1");
$uploader->getUploadSettings()->setActionUrl("upload.php");
$uploader->getUploadSettings()->setRedirectUrl("gallery.php");
JavaScript
var u = $au.uploader({
    id: 'Uploader1',
    uploadSettings: { actionUrl: 'upload.aspx', redirectUrl: 'gallery.aspx' }
});

The ActionUrl specifies a URL to the page where files are posted. That page should contain the server code which parses the upload request, saves files to the necessary folders on server, and performs other additional actions. Usually, this URL must have a specific extension (depending on the web server settings). For ASP.NET platform it should be .aspx, for PHP it is .php, for Perl it can be .pl or .cgi, etc. In other words, the file containing this script should have the extension registered in the settings of your web server as a server page. Otherwise, upload would fail. If you want to submit files to the same page where ActiveX/Java Uploader is hosted, specify the dot character (.) as a value of this property.

When users upload files using the standard <input type="file"> element, they expect to be redirected to the page where they have submitted the files. However, ActiveX/Java Uploader works in a different way. The response generated by the page, which is specified with the ActionUrl property, is sent back to ActiveX/Java Uploader and not to the browser. As soon as ActiveX/Java Uploader receives this response, the upload is considered completed; and the user is redirected to the page specified with the RedirectUrl property. If you do not need this redirection, set this property to an empty string.

When specifying these properties, take into account the following cases:

Using Quotation Marks and Semicolons

URLs can contain semicolon or quotation mark characters (e.g. http://upload.server.com/uploadFile;jsessionid=123?param='value'). If they do, enclose such URLs in single (' ') or double (" ") quotes to avoid parameter parsing errors. Moreover, quotation marks (both single ' and double ") inside URLs should be escaped with a backslash:

"http://upload.server.com/uploadFile;jsessionid=123?param=\'value\'"

Using Absolute and Relative URLs

URLs can be both absolute (e.g. "http://domain.com/Gallery/gallery.aspx") and relative to the current page (e.g. "/Gallery/gallery.aspx").

For instance, if ActiveX/Java Uploader is inserted into the http://domain.com/ImageUploader/default.aspx page, the relative URLs specified via the RedirectUrl property will correspond to the following locations.

Specified URL Expected Location
"/Gallery/gallery.aspx" http://domain.com/Gallery/gallery.aspx
"./Gallery/gallery.aspx" http://domain.com/ImageUploader/Gallery/gallery.aspx
"Gallery/gallery.aspx" http://domain.com/ImageUploader/Gallery/gallery.aspx
"gallery.aspx" http://domain.com/ImageUploader/gallery.aspx

Set Type of Control to Use

ActiveX/Java Uploader loads ActiveX control or Java applet depending on what browser is used on client side. ActiveX control will be loaded for Internet Explorer, and Java applet otherwise. You can customize this logic and set up ActiveX/Java Uploader to load Java applet in all browsers if you want to disable ActiveX for some reason; to perform this use the typeType (ASP.NET)Type (PHP)type (JavaScript) property.

The following sample configures ActiveX/Java Uploader to load Java applet for any browser.

ASP.NET
<aur:Uploader ID="Uploader1" runat="server" Type="java" />
JavaScript
var uploader = $au.uploader({
  id: 'Uploader1',
  type: 'java',
  //other parameters...
});

If you use ActiveX/Java Uploader PHP you can set the type property inside the PreRender event handler, like follows:

PHP
<script type="text/javascript">
    function Uploader1_PreRender(){
        $au.uploader('Uploader1').type('java');
    }
</script>
 
<?php
  require_once 'ImageUploaderPHP/Uploader.class.php';
  $uploader = new Uploader('Uploader1');
  $uploader->getClientEvents()->setPreRender("Uploader1_PreRender");
  //other parameters...
  $uploader.render();
?>

See Also

Reference

Manual