add binary file upload but has bugs