如何在 Elixir 中检查图像的格式

How to check an image's format in Elixir

那么假设我在某处存储了一个文件,它可以是 jpeg 文件或 png 文件,如何检查它是什么?

我应该只检查扩展名吗?或者我应该阅读文件的二进制签名吗?或者我该怎么做?

更新:2016 年 4 月 2 日包括 .JPG 验证.

有一个相当流行的十六进制包 Arc 可能适合您。从弧中提取:

def validate({file, _}) do
  ~w(.jpg .jpeg .gif .png .JPG) |> Enum.member?(Path.extname(file.file_name))
end

我猜你可以提取文件的幻数并分析它。一旦你有了格式规范

就相当简单了