【问题标题】:How to make Flask serve the right content types for static files on Alpine?如何使 Flask 为 Alpine 上的静态文件提供正确的内容类型?
【发布时间】:2016-06-25 21:17:26
【问题描述】:

我正在一个基于python:2.7-alpine 基础镜像的 Docker 容器中运行 Flask webapp,从 Debian 基础镜像切换。

Flask 提供的来自/static 目录的所有图像都以通用内容类型application/octet-stream 提供,而不是预期的特定内容类型,因此浏览器无法正确显示图像。

如何解决这个问题?

【问题讨论】:

    标签: docker flask alpine


    【解决方案1】:

    原因是 Alpine 基础镜像没有附带任何 mime 类型信息。查看下面示例 Dockerfile 中的 apk add 命令。它会安装 mailcap 包,该包仅额外放置 68 KB 并包含一个 /etc/mime.types 文件。

    FROM python:2.7-alpine
    
    # install /etc/mime.types
    RUN apk update && \
        apk add mailcap && \
        rm /var/cache/apk/*
    ...
    

    现在提供的 PNG、JPEG 等应该具有预期的内容类型标头。

    【讨论】:

      【解决方案2】:
      猜你喜欢
      • 2016-12-20
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      • 2011-12-02
      • 2012-07-14
      • 2015-10-19
      • 2023-03-06
      • 2015-11-03
      相关资源
      最近更新 更多