Но как уже сказали, надо прикладывать ошибку, потому что без текста ошибки это все гадание и гугление возможных ошибок связанных с использованием BytesIO и requests.post()
Вы, наверно, имели ввиду, "без сохранения его локально", потому что это ваше требование реализовать невозможно - всё равно файл будет загружен как минимум в память при выполнении запроса к нему и взятия содержимого в переменную.