the name param is the server name which can be different from the name on the client side

IE10 and IE11 have problem with uploading zero-size files in the html5 mode, to solve it, we use the following trick: once we detect a file with zero size going to be uploaded - url changed a bit, params zero_size=1 and file_name=somename.ext will send to server

{serverName} will be replaced with serverName attr, returned by server when file uploaded.

3) and finally some tricks on server side (script download.php):

<?php// make sure file name setif(isset($_REQUEST["fileName"])){// here you also can make some extra checks, like this$fname=basename(urldecode($_REQUEST["fileName"]));// get file contents$data=file_get_contents("path/to/file/".$fname);// send donwload headers, force browser to show download dialogheader("Content-Type: application/octet-stream");header("Content-Disposition: attachment; filename=\"".$fname."\"");header("Content-Length: ".strlen($data));// output fileprint_r($data);}?>