This worked for me. I’ve also had success by creating the directory at wp-content/uploads/s3temp with permissions set to the Apache user and the following code changes:
In S3.PHP:
[FIND]
$this->s3CacheFolder = ABSPATH . get_option ( 'upload_path', 'wp-content/uploads' ) . DIRECTORY_SEPARATOR . 's3temp' . DIRECTORY_SEPARATOR;
[REPLACE WITH]
$this->s3CacheFolder = ABSPATH . 'wp-content/uploads' . DIRECTORY_SEPARATOR . 's3temp' . DIRECTORY_SEPARATOR;