Heim > Artikel > Backend-Entwicklung > Ausführliche Erläuterung des Beispiels für den Flaschen-Upload-Avatar
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!