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

NoD*_*ame 4 elixir phoenix-framework

所以我们假设我有一个文件存储在某处,它可以是jpeg文件或png文件,检查它是什么的方法是什么?

我应该简单地查看扩展名吗?或者我应该读取文件的二进制签名?或者我该怎么做?

Don*_*aio 8

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

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

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

  • 这里是`arc`的作者,此验证方法已经过更新,还可以小写路径,因此`.JPG`文件也将匹配。 (2认同)