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.


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
- Piton
temodul dokumentációja - Lombik – WTF dokumentáció
