Flask request.files.getlist () оказывается пустым в почтовом запросе - PullRequest
0 голосов
/ 02 августа 2020

Я пытаюсь загрузить несколько файлов, используя flask. Но после отправки формы я получаю пустой список. вот мой код формы HTML:

<form enctype="multipart/form-data" action="/upload" method="post" role="form">
              <div class="form-row">
                <div class="col-lg-6 form-group">
                  <input type="text" name="name" class="form-control" id="name" placeholder="Your Name" data-rule="minlen:4" data-msg="Please enter at least 4 chars" required />
                  <div class="validate"></div>
                </div>
                <div class="col-lg-6 form-group">
                  <input type="email" class="form-control" name="email" id="email" placeholder="Your Email" data-rule="email" data-msg="Please enter a valid email" required />
                  <div class="validate"></div>
                </div>
              </div>
              <div class="form-group">
                <input type="tel" class="form-control" name="phone" id="subject" placeholder="Phone Number" data-rule="minlen:4" data-msg="Please enter your phone number" required />
                <div class="validate"></div>
              </div>
              <div class="form-group">
                <select name="cata" class="browser-default custom-select">
                  <option selected>Culture, Arts and Social Scineces</option>
                  <option value="1">Medicine and Health</option>
                  <option value="2">Leadership, Managment, Buisness and Commerce</option>
                  <option value="3">Sceince, Agriculture and Engineering</option>
                  <option value="3">Other</option>
                </select>
              </div>
              <div class="form-group">
                <textarea class="form-control-a" name="message" rows="5" data-rule="required" data-msg="Please write something for us" placeholder="Message"></textarea>
                <div class="validate"></div>
              </div>
              <div class="mb-3">
                <!-- <div class="loading">Loading</div>
                <div class="error-message"></div>
                <div class="sent-message">Your message has been sent. Thank you!</div> -->
              </div>
                <strong>Upload File:
                   <input type="file" name="atta_file[]" multiple>
                </strong>
                <input type="submit" style="border-radius: 5px;
                                            width: 110px;
                                            margin: 14px;
                                            height: 50px;
                                            line-height: 0;" 
                        class="btn btn-primary pull-right" 
                        value="Submit">
            </form>

А вот мой Python скрипт для загрузки файла:

@app.route("/upload", methods=['POST','GET'])
def upload():
    if request.method == 'POST':
        filess = request.files.getlist('atta_file[]')
        print(filess)
        return render_template("upload.html")
    return render_template("upload.html")

Сначала я пытаюсь распечатать имена отправленных файлов на консоли, чтобы увидеть работает он или нет. Я искал другие ответы также для того же запроса, но обнаружил, что в их проблеме отсутствует только enctype = "multipart / form-data" или name поле в input тег. но я проверил свой код, ни один из них не пропал. Я не уверен, что мне не хватает и как решить эту проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...