【问题标题】:How to enable route for uploads directory in phoenix framework如何在凤凰框架中启用上传目录的路由
【发布时间】:2016-08-02 03:34:46
【问题描述】:

我已经使用这两个elixir库arc(https://github.com/stavro/arc)和acr_ecto(https://github.com/stavro/arc_ecto)在phoenix框架中实现了文件上传,

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

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

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

【问题讨论】:

    标签: routes elixir phoenix-framework


    【解决方案1】:

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

    plug Plug.Static,
            at: "/uploads", from: "uploads", gzip: false
    

    之后你必须重新启动服务器,然后你可以简单地调用

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

    【讨论】:

      【解决方案2】:

      我没有尝试过,但是here 它说你可以将一个元组传递给from 键,所以我猜它会类似于{:my_app, Path.join(***PATH_TO_YOUR_APP***, "uploads")} 然后你可以创建一个小助手来生成相对路径你的文件是这样的

      def relative_path(filename) do
        "/users/avatars/ <> filename
      end
      

      我不确定它是否会起作用,但它可能以某种方式紧密地完成了 :)

      【讨论】:

        猜你喜欢
        • 2016-05-08
        • 1970-01-01
        • 2016-05-08
        • 1970-01-01
        • 1970-01-01
        • 2016-01-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多