Как передать файл (CSV) от Angular до Flask Python? - PullRequest
0 голосов
/ 21 апреля 2020

Описание: Я занимаюсь разработкой веб-сайта, который будет принимать входные данные из файла пользователя (файл CSV) и передавать этот файл бэкэнду, где python выполнит некоторую обработку этого файла, файла. должен быть передан в виде csv, а не в формате json. В настоящее время я не использую какую-либо базу данных, потому что мне не нужно хранить этот файл в моей базе данных. Используемые мной технологии: Angular, Flask и Python.


**Client side**


main.component.html:
<form action = "http://localhost:5000/uploader" method = "POST" enctype="multipart/form-data" ng-submit="submitGuideDetailsForm()">
<div class="form-group">
<label for="usr">Add your Csv file: </label>
<input type='file' class="form-control" name='file' onchange="angular.element(this).scope().uploadFile(this.files)">
</div>
</form>

main.component.ts:

  handleFileInput(files: FileList) {
    console.log('Inside File upload function\nFile uploaded');
    this.receivedFile = files.item(0);
    const isFileupload = true;
    console.log(` Received File: ${this.receivedFile}`);
    if (isFileupload) {
      alert('Csv uploaded');
    }
  }

**Server side**
main.py:
@app.route('/uploader', methods = ['GET', 'POST'])
def upload_file():
if request.method == 'POST':

f = request.files['file']
f.save(secure_filename(f.filename))
print('Hello World')

return 'file uploaded successfully'
else:
return 'Not received the file'

Постановка задачи: Проблема, которую я я получаю вот что, я не получаю файл на бэкэнд, там даже нет никакой ошибки, когда я загружаю файл и проверяю ссылку на бэкэнд-сервер http://localhost: 5000 / uploader , я получаю это: Не получил файл .

Запрос: Я прошу вас, люди, пожалуйста, помогите мне с этим !!!

...