Struts 2 中的文件下载文件夹视图

The file download folder view in Struts 2

我正在创建一个学校项目。我想给学生看老师上传的东西

但我还需要将文件保存在以教员姓名命名的文件夹中。学生将能够浏览主目录,然后他可以进入特定的院系文件夹。

我该怎么做?任何建议将不胜感激。

对于文件上传,我将从 this 答案中的示例开始。通过文件上传操作可以轻松地从临时文件夹中移动文件。

对于您的浏览文件,我会创建一个操作,该操作能够导航到文件所在的文件夹并从该文件夹中获取文件列表。像这样

String file = application.getRealPath("/upload");
File f = new File(file);
String [] fileNames = f.list();
File [] fileObjects= f.listFiles();
for (int i = 0; i < fileObjects.length; i++) {
if(!fileObjects[i].isDirectory()){
    String fname = file+fileNames[i];
    out.println(fileNames[i]);
 }
}

然后将此文件映射到 JSP 作为 link。单击 link 时,您可以在执行操作时检索服务器上的实际路径。如何处理数据,当然您可以 return stream 来自用于流式传输到客户端浏览器的操作的结果。您可以使用来自 Struts 站点的文档示例或类似 this 示例。

要导航到 GET 请求中的文件夹使用参数,它将用于在会话中存储当前目录。如果用户从视图层更改当前目录,您可以更改它。