擅长:python、mysql、java
<p>一般来说,像这样的图片除了被发送出去之外,还需要从浏览器上传。</p>
<p>因此,我使用<a href="http://pythonhosted.org/Flask-Uploads/" rel="nofollow">Flask-Uploads</a>来处理上传和服务时的所有存储和命名问题。</p>
<p>以下是文档中有关如何使用它的示例:</p>
<pre><code>photos = UploadSet('photos', IMAGES)
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if request.method == 'POST' and 'photo' in request.files:
filename = photos.save(request.files['photo'])
rec = Photo(filename=filename, user=g.user.id)
rec.store()
flash("Photo saved.")
return redirect(url_for('show', id=rec.id))
return render_template('upload.html')
@app.route('/photo/<id>')
def show(id):
photo = Photo.load(id)
if photo is None:
abort(404)
url = photos.url(photo.filename)
return render_template('show.html', url=url, photo=photo)
</code></pre>
<p>使用.save()方法将传入文件存储在目录中。Flask Uploads会将保存时使用的文件名返回给您。稍后,使用.url()或.path()获取对已保存文件的引用。</p>