gpt4 book ai didi

playframework - 从 Play 目录结构之外直接提供文件

转载 作者:行者123 更新时间:2023-12-04 03:52:56 25 4
gpt4 key购买 nike

问候玩家

我需要定制 CDN - 类似小型应用程序的解决方案,想知道直接使用 Play 提供文件的最佳方式是什么,但不放在 public 下应用程序目录?我需要访问 FTP 上传文件夹。

假设我的应用程序从 /home/myaccount/playapps/app201 运行文件夹,可在 http://somedomain.tld 获得地址。我还有一个普通的 FTP 帐户,其文件夹指向 /home/myaccount/ftp_upload .

提供文件的最佳方式是什么 /home/myaccount/ftp_upload/folder_1/sub_2/file.txt作为http://somedomain.tld/ftp_upload/folder_1/sub_2/file.txt (没有任何检查和限制)?

  • 一种选择是使用 HTTP 服务器并设置单独的 hostalias对于 ftp folder ,但我想避免在某些节点上使用额外的服务器( ref: 如果您正在寻找服务器解决方案,请查看 sample config)。
  • 二是写Application.serve(String filepath) action + route,但在提供文件之前我不需要任何其他操作。使用这种方法有意义吗?

  • 还有其他选择吗?

    (这个问题也可以在 Google Groups 获得)

    最佳答案

    如果您的 Play 文件夹和 FTP 文件夹在同一主机上,则可以使用公共(public)资源。来自 documentation :

    请注意,如果您在“公共(public)”之外定义 Assets 映射,您需要告诉
    sbt 关于它,例如如果你想:

    GET  /assets/*file               controllers.Assets.at("/public", file)
    GET /liabilities/*file controllers.Assets.at("/foo", file)

    您应该将其添加到 project/Build.scala 中的项目设置中
    // Add your own project settings here
    playAssetsDirectories <+= baseDirectory / "foo"

    我没有测试它,但值得一试:-)

    关于playframework - 从 Play 目录结构之外直接提供文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10787753/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com