2016-08-12 8 views
0

ファイル、特に画像をアップロードしてローカルに保存したいと考えています。私は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

file uploadsのドキュメントをご覧ください。 PhoenixはPlug.Uploadを使用します。ファイルは一時ディレクトリにアップロードされ、アップロード要求のライフサイクル中にのみ存在します。あなたはそのファイルで何をしたいのかを決めることができます。サーバーのどこかに格納したい場合は、アップロードしたファイルとサーバー上のどこにデータベースに格納されているファイルを追跡したいと思うかもしれません。

+0

私は2つの質問をしました。 – Johshi

関連する問題