The events look OK, but note you post to "../upload.php", which in preview mode will post to "preview.construct.net/upload.php", which does not exist. You probably want to put your full URL in there.
I can't really help you with the PHP side, but note it will post the binary data as the body of the POST request. It will be raw binary data, it's not URL encoded in any way.