The "file" HTML element is as complicated as file uploading gets from a forms perspective - the most complicated part is handling a file once it is uploaded, verifying it is the right type and size, etc. As such, this information is covered in full depth later.