Maison > Article > développement back-end > Explication détaillée de l'exemple d'avatar de téléchargement de flacon
Télécharger des avatars, j'ai longtemps pensé qu'il s'agissait simplement de télécharger des fichiers. En fait, il y a un chemin, la base de données stocke ce chemin, puis l'affiche au front-end, sans rien dire, voyons comment ça se passe. est mise en œuvre.
Les paramètres de la base de données sont les suivants
user_image=db.Column(db.String(252),nullable=True)
conception du formulaire :
avatar=FileField('头像')
Le chemin de stockage du code d'implémentation de bout en bout
avatar=request.files['avatar'] fanme=avatar.filename upfile=os.getcwd()+('/app/static/avatar/') ALLOWER_EXIT=['pang','jpg','jpeg','jig'] flag='.' in fanme and fanme.split('.')[1] in ALLOWER_EXITif not flag: return render_template('editperson.html',form=form) avatar.save('{}{}{}'.format(upfile,user.username,fanme)) user.user_image='/static/avatar/{}{}'.format(user.username,fanme) db.session.add(user)
est
/static/avatar/,支持格式 pang、jpg、jpeg等格式,这个可以根据自己的需求进行设置。 存储后会在数据库存储一个路径 最后实现后数据库
Le suivant est le affichage frontal
{% if username.user_image%}<img src="{{username.user_image}}" style="height:80px;">{%else%}<img src="/static/img/0.jpg" style="height:70px;width:80px">{%endif%}
Laissez-moi vous expliquer ici, le code backend ici pour implémenter l'avatar téléchargé a signalé une erreur sous Windows, disant que le fichier le fait n'existe pas, j'ai essayé de le modifier, c'est le chemin. Le nom ne doit pas être trop long
Un nom de chemin court convient. S'il est trop long, une erreur sera signalée. Le développement Windows présente de nombreux inconvénients, mais il n'y a aucun problème à l'implémenter sur Ubuntu
项目地址
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!