added file upload and gps tag parse