content upload handler