3

我写了一个小应用程序,用 play 2.0 创建可下载的 pdf 文件

我想为公众服务。在我的开发环境中,我在 /assets/ 文件夹中创建了一个文件夹,一切正常。

现在,当切换到生产环境时,我发现 play 总是在我背后部署这些文件。

我真的必须编写一个自己的控制器来提供这些文件还是这里的方式是什么?

4

1 回答 1

5

我在尝试提供使用资产控制器动态创建的文件时也遇到了问题。我不知道它是否用于某种缓存,但我最终编写了自己的控制器,现在它完美无缺。

我的意思是,我将 Assets 控制器用于常规公共文件,而对于动态生成的文件,我使用这个:

public class FileService extends Controller {
       static String path = "/public/dynamicfiles/";
       public static Result getFile(String file){
              File myfile = new File (System.getenv("PWD")+path+file);
              return ok(myfile);
       }
}

路线是这样的:

GET     /files/:file           controllers.FileService.getFile(file: String)
GET     /assets/*file               controllers.Assets.at(path="/public", file)

这对我很有效

于 2012-12-05T08:08:34.793 回答