"heroku run bash" не может надежно увидеть файл, который был только что загружен, потому что нет гарантии, что он работает на той же самой героине dyno.
Файлы на heroku являются временными, они действуют только как Пока динамо активно, и вы получаете для них ограниченное количество места. Тем не менее, вы можете рассчитывать на то, что они существуют в dyno, который создал их достаточно долго, чтобы завершить sh обработку веб-запроса.
Таким образом, правильное решение - загрузить файл, а затем загрузить его непосредственно в долговременный сервис хранения как Amazon S3. Хотя официальный AWS SDK для Node.js не предоставляет API потоковой передачи для загрузки, это хорошо, потому что вы можете попросить API загрузить только что загруженный файл, все до того, как вы ответите на оригинал. веб-запрос, который вы должны сделать, чтобы правильно завершить его и избежать возможного исчерпания сокета в вашем Node.js приложении.