Как передать файл CSV в приложение Flask, работающее внутри контейнера Docker? - PullRequest
0 голосов
/ 17 февраля 2020

У меня Flask приложение, работающее внутри Docker контейнера. Мое приложение использует в качестве входных данных путь к CSV-файлу, обрабатывает его и дает некоторые результаты.

При создании контейнера я сохранял файл CSV внутри самого контейнера для проверки кода. И теперь, когда все работает нормально, я должен передать этот файл CSV извне.

Это потому, что для каждого вызова API будет свой файл CSV.

Обратите внимание, что файл CSV будет передается конечным пользователем, поэтому он не может быть где-либо в системе, когда мы запускаем контейнер. Он будет получен после запуска контейнера.

Как я могу предоставить этот CSV-файл своему приложению?

1 Ответ

3 голосов
/ 17 февраля 2020

Мое приложение принимает путь к CSV-файлу в качестве ввода

Оно не должно принимать путь к файлу. У ваших пользователей не будет доступа к файловой системе сервера, а у вашего сервера нет доступа к файловой системе ваших клиентов.

Вместо этого он должен получить полезную нагрузку файла в HTTP-запросе :

  1. Тег <form> помечен enctype=multipart/form-data, а <input type=file> помещен в эту форму
  2. Приложение получает доступ к файлу из files словарь для объекта запроса.
  3. используйте метод save() файла для постоянного сохранения файла где-нибудь в файловой системе.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...