Используешь r.ParseMultipartForm(maxMemory) для парсинга multipart формы, потом r.FormFile("field") для получения файла. maxMemory задаёт сколько держать в памяти, остальное во временных файлах. Полученный файл копируешь через io.Copy куда нужно — на диск или в S3. Не забывай закрывать файлы и проверять Content-Type.