如何验证/限制附件文件大小

时间:2016-12-20 21:50:20

标签: phoenix-framework ecto arc-ecto

在使用arcarc_ecto的附件的Ecto模型中:

  use Arc.Ecto.Schema

  schema "profiles" do
    ...
    field :avatar, MyApp.AvatarUploader.Type
    ...

    timestamps()
  end

如何验证/限制附件的大小? 我在guides中使用Plug.Parsers的配置阅读了它,但我想在模型级别而不是在应用程序级别执行此操作。例如,用户头像应该很小但其他图片应该更大。

实现这一目标的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

万一有人想知道,我相信可以在将文件存储到定义弧定义的模块中之前进行验证:https://github.com/stavro/arc#file-validation

类似以下内容:

def validate({%Arc.File{path: path}, _}) do
  %{size: size} = File.stat!(path)
  # less than 100 bytes
  size < 100
end

这应该与arc_ecto一起使用