Routes 如何在phoenix框架中启用上载目录路由

Routes 如何在phoenix框架中启用上载目录路由,routes,elixir,phoenix-framework,Routes,Elixir,Phoenix Framework,我使用这两个elixir库arc()和acr_-exto()在phoenix框架中实现了文件上传 当我上传图像时,它存储在以下目录中 “app_root/uploads/users/avatars/filename.jpg” 现在我如何启用route从浏览器访问app_root/uploads/users/avatars/filename.jpg文件我还没有尝试过,但它说你可以通过键将元组传递给,所以我猜它类似于{:我的app,Path.join(***Path_to_to_你的app***,“

我使用这两个elixir库arc()和acr_-exto()在phoenix框架中实现了文件上传

当我上传图像时,它存储在以下目录中

“app_root/uploads/users/avatars/filename.jpg”

现在我如何启用route从浏览器访问
app_root/uploads/users/avatars/filename.jpg
文件

我还没有尝试过,但它说你可以通过
键将元组传递给
,所以我猜它类似于
{:我的app,Path.join(***Path_to_to_你的app***,“uploads”)}
然后您可以创建一个小助手来生成文件的相对路径,如下所示

def relative_path(filename) do
  "/users/avatars/ <> filename
end
def相对路径(文件名)do
“/users/avatars/filename
结束

我不确定它是否会起作用,但可能是通过某种方式完成的:)

可以通过添加到app_root/lib/appname/endpoint.ex来启用它

plug Plug.Static,
        at: "/uploads", from: "uploads", gzip: false
之后,您必须重新启动服务器,然后只需调用

MyApp.Avatar.url({user.avatar,user})