上传和访问Phoenix中的文件并在本地存储

时间:2016-08-12 16:27:35

标签: elixir phoenix-framework

我希望能够上传文件,特别是图片,并将其存储在本地。我知道plug Plug.Static,但它不是静态资产吗?鉴于上传的文件不是静态的。

1)另外,我已经在我的应用程序中自动生成了这个:

# lib/my_app/endpoint.ex
plug Plug.Static,
  at: "/", from: :my_app, gzip: false,
  only: ~w(css fonts images js favicon.ico robots.txt)

确实,它适用于静态资产。我该如何处理上传的文件?我想将它们存储在不同的目录中。不一定在我的项目之外,但默认情况下它不会在生产梁文件中编译。

2)鉴于上传的文件名,我希望能够从a)控制器b)视图中获取其完整的URL /路径。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

查看file uploads的文档。凤凰城使用Plug.Upload。您的文件将上载到临时目录,并且仅在上载请求的生命周期内存在。您可以选择使用该文件执行任何操作。如果要将其存储在服务器上的某个位置,可能需要跟踪上载的文件以及数据库中服务器的存储位置。

相关问题