Я использую wtforms
MultipleFileField для загрузки нескольких фотографий автомобилей для приложения продавца автомобилей.
Я пытался использовать MultiFileField, но, поскольку он возвращает только строку с filename
, я могу 'сохранить изображение в моей статической папке.Я пытался использовать request.files.getlist(form.pics.name)
, но он всегда возвращается пустым.Я не знаю, как их спасти.
Форма:
class VehicleForm(FlaskForm):
.
.
.
pics = MultipleFileField("File(s) Upload", validators=[FileAllowed(["jpg", "png"])])
submit = SubmitField("Add")
rout.py:
form = VehicleForm()
if form.validate_on_submit():
if form.pics.data:
pics = request.files.getlist(form.pics.name)
if pics:
for pic in pics:
#code to save the picture
#this may work but i don´t know since pics return empty
picture_contents = pic.stream.read()
random_hex = secrets.token_hex(8)
_, f_ext = os.path.splitext(pic.filename)
picture_fn = random_hex + f_ext
picture_path = os.path.join(app.root_path, f"static/vehicle_pics", picture_fn)
i = Image.open(picture_contents)
i.thumbnail(500, 400)
i.save(picture_path)
Я хочу найти способ сохранить изображения, но не могу найти решение, которое работает.