我正在尝试将文件上传到我的本地机器,但现在我想要求用户选择一个目录或创建一个新目录以将上传的文件保存在那里,知道如何在播放框架中实现这一点。
问问题
1131 次
1 回答
0
你真的想从你的服务器显示一个目录列表给用户?似乎是一个非常糟糕的计划。我也没有看到任何可以接受的用例,为什么要打扰您存储它的用户?保存链接后,只需向他展示链接即可。
无论如何,您可以使用 Java 创建目录(如果您使用 Play-Java)没问题:
File dir = new File("folderName");
dir.mkdir();
如果您坚持询问用户应将文件保存在哪个文件夹中,我会建议您以下几点:
在 play 项目之外的某个地方创建一个名为uploaded
. 在这个文件夹中,用户可以将文件上传到他自己的文件夹中,只需显示一个输入字段,用户可以在其中输入“文件夹名”。
请注意,在 Play 中上传的文件在上传后不直接可见,因为在 Play 启动时(在类路径中)图像不存在。所以上传的文件夹应该由 Apache 或任何其他服务器管理。
编辑 如果你想列出所有文件,你可以使用类似的东西:
File[] listOfFiles = folder.listFiles(); // folder is created folder
for (File file : listOfFiles) {
if (file.isFile()) {
System.out.println(file.getName());
// here you can build array of strings (filenames)
// that can be passed to your view
}
}
并将新的字符串数组传递listOfFiles
给您的视图。
return ok(list.render(listOfFiles));
于 2013-10-03T07:13:25.687 回答