我正在使用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")
routes.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)
我想找到一种保存图像的方法,但是找不到任何可行的解决方案。