Flask Web开发入门(十一)之图片展现

时间:2025-04-08 08:59:28

Flask Web开发入门(十)之图片上传(使用Flask-Uploads)我们介绍了使用Flask插件Flask-Uploads上传图片,本章就此话题继续展开。

我们知道,我们可以通过UPLOADS_DEFAULT_DEST参数来指定文件上传的默认路径,假如我们指定的路径是upload目录,那么文件实际保存的路径为:

upload/files/xxx

注意,filesUploadSet中的name参数,xxx为文件名

在上一章中,我们说过,Flask-Uploads保存文件的核心方法为:

uploaded_photos.save(file)

这个方法返回的是实际保存的文件名filename,当我们在完成保存文件动作之后,我们通过调用url方法:

(‘%s url is %s’ % (filename, uploaded_photos.url(filename)))

就可以得到上传文件的网站访问全路径,即我们指定UPLOADS_DEFAULT_URL参数 + files/xxx,即:

url is http://127.0.0.1:9000/files/

图片上传完毕之后,我们还需要查看图片,因此,基于上面的分析,我们的展现代码实现如下:

# show photo
@('/files/<string:filename>', methods=['GET'])
def show_photo(filename):
    if  == 'GET':
        if filename is None:
            pass
        else:
            ('filename is %s' % filename)
            image_data = open((UPLOAD_PATH, 'files/%s' % filename), "rb").read()
            response = make_response(image_data)
            ['Content-Type'] = 'image/png'
            return response
    else:
        pass
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

源码参考:/ypmc/flask-sqlalchemy-web