>source

내 HTML은 다음과 같습니다.

{% extends "layout.html" %}
{% block title %}
    Picture
{% endblock %}
{% block main %}
    <form action="/picture" method="post">
        <div>
            <p>Profile picture (32mb max).</p>
            <input type="file" id="picture" name="picture" enctype="multipart/form-data">
            <input type="submit" value="Upload">
        </div>
    </form>
{% endblock %}

다음은 .py입니다.

import sqlite3
import traceback
import sys
import os
from flask import Blueprint, render_template, redirect, session, request, flash
from application import profileName, uploadPicture, profilePicture, allowed_file
from werkzeug.utils import secure_filename
# Set Blueprints
picture = Blueprint('picture', __name__,)
@picture.route("/picture", methods=["GET", "POST"])
def pictureFunction():
    if request.method == "POST":      
        # check if the post request has the file part
        if "picture" not in request.files:
            flash("No file part")
            return redirect("/picture")
        file = request.files["picture"].read()
        # if user does not select file, browser also submit a empty part without filename
        if file.filename == "":
            flash("No selected file")
            return redirect("/picture")
        # Check if all conditions are satisfied
        if file and allowed_file(file.filename):
            filename = secure_filename(file.filename)
            file.save(os.path.join("/static", filename))
        return print(filename)


.jpg (허용 된 파일)를 업로드하려고하면 항상 첫 번째 "if"의 "파일 부분 없음"이 표시됩니다.

이유를 모르겠습니다. 누군가 내가이 파일을 업로드 할 수없는 이유를 알아낼 수 있습니까?

  • 답변 # 1

    그만큼 enctype 속성은 <form> 파일이 아닌 태그 <input> :

    따라서 대신 다음과 같이하십시오.

       <form action="/picture" method="post" enctype="multipart/form-data">
            <div>
                <p>Profile picture (32mb max).</p>
                <input type="file" id="picture" name="picture">
                <input type="submit" value="Upload">
            </div>
        </form>
    
    

  • 이전 공통 키를 기반으로 awk에서 3 개의 파일 병합
  • 다음 etl : Prefect의 새 흐름에 대한 기록 데이터를 한 번 백업하는 방법이 있습니까?