У меня бэкэнд golang с джином. Он должен работать как прокси для ftp-сервера, который содержит аудиофайлы. Таким образом, мой клиент должен иметь возможность вызвать конечную точку / загрузку / путь к файлу, приложение Golang должно затем получить файл с ftp-сервера и вернуть его как файл (без потока).
Мое текущее решение - прочитать файл с ftp как байт [] и временно записать его на диск с помощью ioutil.TempFile () и вернуть этот файл с помощью ctx.File ().
Если возможно, я хотел бы пропустить шаг, на котором я создаю временный файл. Это возможно? Возможно, есть способ проксировать вызов и напрямую соединить http-вызов с ftp-вызовом?
Примечание. Я не контролирую клиентское приложение, поэтому не могу его изменить.