2016-08-12 38 views
0

我希望能够上传文件,特别是图像,并将它们存储在本地。我知道plug Plug.Static,但它不是用于静态资产吗?而上传的文件不是静态的。上传和访问Phoenix中的文件并将其存储在本地

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

查看file uploads的文档。 Phoenix使用Plug.Upload。您的文件将被上传到临时目录,并且仅在上传请求的生命周期中存在。你可以选择做任何你想要的文件。如果您想将其存储在服务器的某个位置,则可能需要跟踪数据库中您上传的文件以及它们在服务器上的存储位置。

+0

我已经问了2个问题。 – Johshi

相关问题