【问题标题】:How do I serve a static SVG file with Flask?如何使用 Flask 提供静态 SVG 文件?
【发布时间】:2012-07-14 17:44:12
【问题描述】:

我想使用 Flask 提供静态 SVG 文件,但 SVG 文件在传输时没有 Content-Type 标头。正确的 mime 类型是 image/svg+xml。如何确保 Flask 为 SVG 文件使用正确的 mime 类型并将其发送到浏览器?

我将文件称为/static/python.svg,它确实存在。

我在我的__init__.py 文件中尝试了这个,但没有任何区别:

import mimetypes

mimetypes.add_type('images/svg+xml', '.svg')

【问题讨论】:

    标签: python mime-types flask


    【解决方案1】:

    一种简单(但很老套)的方法是为 svgs 添加一条新路由:

    @app.route('/static/<svgFile>.svg')
    def serve_content(svgFile):
        return file('static/'+svgFile+'.svg').read()
    

    【讨论】:

      【解决方案2】:

      您的 MIME 类型有误。正确的是image/svg+xml(注意缺少“s”)。

      import mimetypes
      
      mimetypes.add_type('image/svg+xml', '.svg')
      #                        ^ no s
      

      【讨论】:

        猜你喜欢
        • 2015-10-19
        • 1970-01-01
        • 2023-03-06
        • 2015-11-03
        相关资源
        最近更新 更多