Fully working upload (except for images