In our tests SilverLight didn't require anything special and worked with this configuration just fine. It may fail back to the same crossdomain.xml as last resort. !!!Important!!! Plupload UI Widget here, is used only for demo purposes and is not required for uploading to S3. */ // important variables that will be used throughout this example $bucket = 'BUCKET'; // these can be found on your Account page, under Security Credentials > Access Keys $accessKeyId = 'ACCESS_KEY_ID'; $secret = 'SECRET_ACCESS_KEY'; // prepare policy $policy = base64_encode(json_encode(array( // ISO 8601 - date('c'); generates uncompatible date, so better do it manually 'expiration' => date('Y-m-d\TH:i:s.000\Z', strtotime('+1 day')), 'conditions' => array( array('bucket' => $bucket), array('acl' => 'public-read'), array('starts-with', '$key', ''), // for demo purposes we are accepting only images array('starts-with', '$Content-Type', 'image/'), // Plupload internally adds name field, so we need to mention it here array('starts-with', '$name', ''), // One more field to take into account: Filename - gets silently sent by FileReference.upload() in Flash // http://docs.amazonwebservices.com/AmazonS3/latest/dev/HTTPPOSTFlash.html array('starts-with', '$Filename', ''), ) ))); // sign policy $signature = base64_encode(hash_hmac('sha1', $policy, $secret, true)); ?> Plupload to Amazon S3 Example

Plupload to Amazon S3 Example

Your browser doesn't have Flash, Silverlight or HTML5 support.