add upload file interface