繁体   English   中英

如何通过phoenix在服务器上上传文件

[英]How to upload file on server by phoenix

我正在尝试通过 phoenix 将图像文件上传到服务器。 我没有找到任何好的例子。

以下代码是我制作的,但它不起作用。 我有以下错误。

no function clause matching in FileUploadWeb.PageController.upload/2

controller

defmodule FileUploadWeb.PageController do
  use FileUploadWeb, :controller

  def index(conn, _params) do
    render(conn, "index.html")
  end

  def upload(conn, %{"upload" => upload}) do
    path_upload = upload["photo"]
    File.cp(path_upload.path, Path.absname("upload/#{path_upload.filename}}"))
    render(conn, "index.html")
  end
end

索引.html.eex

<div>
<%= form_for @conn, "/upload", [multipart: true], fn f ->%>
    <%= file_input f, :photo, class: "form-control" %>
    <%= submit "Upload", class: "btn btn-primary" %>
<% end %>
</div>

路由器

  scope "/", FileUploadWeb do
    pipe_through :browser

    get "/", PageController, :index
    post "/upload", PageController, :upload
  end

你能给我举个很好的例子吗? 谢谢。

这是如何从凤凰文档上传文件的链接: https://hexdocs.pm/phoenix/1.3.0-rc.1/file_uploads.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM