Heim  >  Artikel  >  Backend-Entwicklung  >  Ausführliche Erläuterung des Beispiels für den Flaschen-Upload-Avatar

Ausführliche Erläuterung des Beispiels für den Flaschen-Upload-Avatar

零下一度
零下一度Original
2017-07-03 09:40:301770Durchsuche

Beim Hochladen von Avataren dachte ich lange, es geht nur um das Hochladen von Dateien. Tatsächlich gibt es einen Pfad, die Datenbank speichert diesen Pfad und zeigt ihn dann im Frontend an, ohne etwas zu sagen, mal sehen, wie es ist umgesetzt wird.

Die Datenbankeinstellungen lauten wie folgt

user_image=db.Column(db.String(252),nullable=True)

Formularformulardesign:

avatar=FileField('头像')

Der Speicherpfad des End-End-Implementierungscodes

 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)

ist

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

Der nächste ist der Front-End-Anzeige

{% 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%}

Lassen Sie mich hier erklären, dass der Backend-Code hier zur Implementierung des hochgeladenen Avatars unter Windows einen Fehler gemeldet hat und besagt, dass die Datei dies tut nicht vorhanden, ich habe versucht, ihn zu ändern, es ist der Pfad. Der Name sollte nicht zu lang sein.

Ein kurzer Pfadname ist in Ordnung. Die Windows-Entwicklung hat viele Nachteile, aber die Implementierung unter Ubuntu ist kein Problem

项目地址

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung des Beispiels für den Flaschen-Upload-Avatar. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn