Hogyan lehet méret alapján szűrni a Flask alkalmazás fájlfeltöltéseit?

Nov 20, 2025Hagyjon üzenetet

A webfejlesztés területén a Flask egyszerűsége és rugalmassága miatt népszerű mikro-keretrendszerré vált webes alkalmazások készítésére. Sok Flask alkalmazás egyik általános követelménye a fájlfeltöltések kezelése. Ha azonban lehetővé teszi a felhasználók számára, hogy megfelelő korlátozások nélkül töltsenek fel fájlokat, az különféle problémákhoz vezethet, például túlzott tárhelyfelhasználáshoz és potenciális biztonsági kockázatokhoz. Ebben a blogban, mint Filtering Flask szállító, végigvezetem Önt a Flask alkalmazás fájlfeltöltéseinek méret szerinti szűrésén.

A Flaskban történő fájlfeltöltés alapjainak megismerése

Mielőtt belemerülnénk a méretszűrésbe, tekintsük át röviden, hogyan működik a fájlfeltöltés a Flaskban. A Flask egyszerű módot biztosít a fájlfeltöltések kezelésérekérés.fájlokobjektum. Amikor a felhasználó beküld egy űrlapot fájlbeviteli mezővel, a feltöltött fájl a Flask alkalmazásban érhető el.

Íme egy egyszerű példa egy Flask alkalmazásra, amely elfogadja a fájlfeltöltéseket:

from flask import Lombik, request app = Lombik(__name__) @app.route('/upload', method=['POST']) def upload_file(): file = request.files['file'] if file: file.save('uploads/' + file.filename) return 'Fájl feltöltve sikeresen' app.run(debug=True)

Ebben a kódban egy útvonalat határozunk meg/feltöltésamely elfogadja a POST kéréseket. A fájl feltöltésekor a rendszer elmenti a fájlbafeltöltésekkönyvtárat.

Clear glass Filtering FlaskLaboratory Clear Glass Filtering Flasks With Upper Tubulature

Miért szűrjük a fájlfeltöltéseket méret alapján?

Számos oka lehet annak, hogy miért érdemes méret alapján szűrni a feltöltött fájlokat. Először is, a szervertárolás véges erőforrás. Ha lehetővé teszi a felhasználók számára, hogy rendkívül nagy fájlokat töltsenek fel, az gyorsan kimerítheti a szerveren rendelkezésre álló területet. Másodszor, a nagy fájlok feltöltése teljesítményproblémákat okozhat, különösen, ha a szerver korlátozott sávszélességgel rendelkezik. Ezenkívül a rosszindulatú felhasználók megpróbálhatnak nagyon nagy fájlokat feltölteni szolgáltatásmegtagadási támadásként.

Méretszűrés megvalósítása lombikban

A méretszűrés Flask alkalmazásban való megvalósításához ellenőriznünk kell a feltöltött fájl méretét a mentés előtt. A Flask nem biztosít közvetlen módot a fájl méretének lekérésére akérés.fájlokobjektum, de használhatjuk atemodult Pythonban ennek eléréséhez.

Íme az előző példa frissített változata méretszűréssel:

OS importálása lombikból import Lombik, kérés alkalmazás = Lombik(__name__) MAX_FILE_SIZE = 1024 * 1024 # 1 MB @app.route('/upload', method=['POST']) def upload_file(): file = request.files['file'] if file: file.file.sEEK(0),ENDos_seek. file.seek(0) if file_size > MAX_FILE_SIZE: return 'A fájl mérete meghaladja a korlátot' file.save('uploads/' + file.filename) return 'Fájl sikeresen feltöltve' return 'Nincs fájl feltöltve' if __name__ == '__main__': app.run(debug=True)

Ebben a kódban először meghatározzuk a maximális fájlméretetMAX_FILE_SIZE(ebben az esetben 1 MB). Fájl feltöltésekor akeresniésmondd megmódszerek a fájl méretének megállapítására. Ha a fájl mérete meghaladja a maximális korlátot, hibaüzenetet küldünk. Ellenkező esetben a szokásos módon mentjük a fájlt.

Lombik – WTF ​​használata az űrlap érvényesítéséhez

Flask – A WTF a Flask kiterjesztése, amely leegyszerűsíti az űrlapok kezelését és érvényesítését. A méretszűrést elegánsabb módon végezhetjük vele.

Először telepítse a Flask - WTF-et:

pip install lombik - wtf

Íme egy példa a Flask - WTF használatára méretszűréshez:

lombikból import Lombik, render_sablon, kérés innen: flask_wtf import FlaskForm from wtforms import FileField from wtforms.validators import DataRequired import os app = Lombik(__name__) app.config['SECRET_KEY'] = 'your_secret_key' #ZECRET_KEY'] = 'your_secret_key' #ZECRET_KEY'] UploadForm(FlaskForm): file = FileField('Fájl feltöltése', validators=[DataRequired()]) @app.route('/upload', method=['GET', 'POST']) def upload_file(): form = UploadForm() if form.validate_on_submit)(END_FILE): file =ta.ossele(): file =. file_size = file.tell() file.seek(0) if file_size > MAX_FILE_SIZE: return 'A fájl mérete meghaladja a korlátot' file.save('uploads/' + file.filename) return 'Fájl sikeresen feltöltve' return render_template('upload.html', form=form) if __'__main=__'___ app.run(debug=True)

Ebben a példában létrehozunk egy űrlaposztálytFeltöltési űrlapFlask - WTF használatával. Az űrlapon aFájlmezőfájlfeltöltésekhez. Az űrlap beküldésekor a méretellenőrzést a korábbiak szerint végezzük.

Különböző környezetekre vonatkozó szempontok

A méretszűrés alkalmazásakor fontos figyelembe venni, hogy a Flask alkalmazás milyen különböző környezetekben futhat. Például egy fejlesztői környezetben érdemes viszonylag alacsony maximális fájlméretet beállítani tesztelési célból. Éles környezetben előfordulhat, hogy módosítania kell a korlátot a kiszolgáló erőforrásai és az alkalmazás jellege alapján.

Szűrőlombik termékeink

Szűrőlombik beszállítóként kiváló minőségű szűrőlombikok széles választékát kínáljuk különféle laboratóriumi alkalmazásokhoz. A miénkLaboratóriumi átlátszó üveg szűrőlombikok felső csővelátlátszó üvegből készülnek, amely lehetővé teszi a szűrési folyamat könnyű megfigyelését. A hatékony szűrés érdekében felső csővel vannak kialakítva.

Egy másik népszerű termékünk a miLaboratóriumi üveg kúpos alakú Erlenmeyer szűrőlombikok felső csővel. A kúpos forma jobb stabilitást biztosít, és számos szűrési feladatra alkalmas.

Beszerzésért forduljon hozzánk

Ha felkeltette érdeklődését szűrőpalackjaink, vagy bármilyen kérdése van a Flask alkalmazások méretszűrésével kapcsolatban, kérjük, vegye fel velünk a kapcsolatot a beszerzési megbeszélések miatt. Szakértői csapatunk készen áll, hogy segítsen megtalálni az igényeinek megfelelő termékeket.

Hivatkozások

  • Lombik dokumentációja
  • Pitontemodul dokumentációja
  • Lombik – WTF ​​dokumentáció