Explication détaillée de l'exemple d'avatar de téléchargement de flacon

零下一度
Libérer: 2017-07-03 09:40:30
original
1820 Les gens l'ont consulté

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)
Copier après la connexion

conception du formulaire :

avatar=FileField('头像')
Copier après la connexion

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)
Copier après la connexion

est

/static/avatar/,支持格式 pang、jpg、jpeg等格式,这个可以根据自己的需求进行设置。 
存储后会在数据库存储一个路径
最后实现后数据库
Copier après la connexion

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%}
Copier après la connexion

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

项目地址
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal