我已经将Phoenix LiveView应用部署到Heroku。在应用上,用户可以上传他们的个人资料图片,并将其保存在uploads文件夹中。个人资料图片不会在生产环境中渲染,但会显示在localhost上。我是否遗漏了什么?
下面是我的MyAppWeb文件,显示了静态路径:
def static_paths, do: ~w(assets fonts images uploads favicon.ico robots.txt)
字符串
这是我的MyAppWeb.端点:
plug Plug.Static,
at: "/",
from: :my_app,
gzip: false,
only: MyAppWeb.static_paths()
型
当我加载页面并检查网络选项卡时,我看到图像返回404,当我点击图像时,URL是:
https://myapp.heroku.com/uploads/live-view-uploads-2378293291
型
上传的路径是priv/static/uploads
。有什么我错过了吗?我哪里出错了?任何帮助都将不胜感激。谢谢!
1条答案
按热度按时间k3fezbri1#
不幸的是,无法将用户生成的内容上传到Heroku中运行的应用程序。https://devcenter.heroku.com/articles/dynos#ephemeral-filesystem
在谷歌上搜索这篇文章时出现的一个解决方案是使用一个简单的附加组件来处理文件广告:https://devcenter.heroku.com/articles/simple-file-upload(我没有附属或测试过,但似乎在网络上很常见)
希望这对你有帮助!