2013-04-30 74 views
1

我有一个庞大的数据目录(〜30GB),其中包含我想在我的Play应用程序中提供的文件。当我把目录中的公用文件夹,应用程序不会完成编译,将只挂在编译大型资产在播放框架2.1

我已经尝试过这样的:

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

,并在Build.scala文件

​​

但是,我得到了与上面相同的问题。

我也试过ExternalAssets

一些被服务在JavaScript中使用,所以我不能让他们单独的本地FTP服务器上或JavaScript会抱怨的文件。

想法?

+0

你要去哪里发布它?一些云,自定义VPS,其他? – biesior 2013-04-30 20:02:58

回答

0

我发现了一个快速和肮脏的解决方案。设置简单的http网页服务器(例如python simple webserver)时,您需要启用cross origin resource sharing,这将允许javascript访问来自不同域的文件。

CORS内置于几个网络服务器,但不是蟒蛇。我发现了一个脚本,这将为python做到这一点。 See here

干杯

4

其实你不需要(并且你可以在你的情况看),你甚至不应该把资产apps目录,而不是考虑两种可能性:

  1. Frontend HTTP server,为例nginx, light and fast将允许您创建反向代理和/或aliases,因此您可以直接从地址http://domain.tld/public内的磁盘提供文件 - 在这种情况下,您需要手动写入路径而不是使用Assets.at(...)。实际上,使用这种方法,您也可以提供公共资产,如布局的CSS,图像等。
  2. 使用一些专业的CDN或云存储,无论如何,在这种情况下,您将需要重建脚本。