ssm用hadoop展示文件列表,上传文件,下载文件,删除文件前端代码
时间: 2024-05-16 18:14:41 浏览: 128
展示文件列表:
```
<c:forEach items="${files}" var="file">
<tr>
<td>${file.name}</td>
<td>${file.size}</td>
<td>${file.date}</td>
</tr>
</c:forEach>
```
上传文件:
```
<form action="/uploadFile" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" value="上传" />
</form>
```
下载文件:
```
<a href="/downloadFile?fileName=${file.name}">${file.name}</a>
```
删除文件:
```
<a href="/deleteFile?fileName=${file.name}">删除</a>
```
相关问题
ssm用hadoop查看,上传,下载,删除文件前后端代码
1. 前端代码
上传文件:
```html
<form enctype="multipart/form-data" method="post" action="/file/upload">
<input type="file" name="file"/>
<input type="submit" value="上传">
</form>
```
下载文件:
```html
<a href="/file/download?fileName=文件名">下载</a>
```
删除文件:
```html
<a href="#" onclick="deleteFile('文件名')">删除</a>
<script>
function deleteFile(fileName) {
if (confirm("确定删除该文件吗?")) {
$.ajax({
url: "/file/delete",
type: "POST",
data: {
fileName: fileName
},
success: function (data) {
alert(data.msg);
window.location.reload();
},
error: function () {
alert("删除失败");
}
});
}
}
</script>
```
2. 后端代码
上传文件:
```java
@RequestMapping(value = "/upload", method = RequestMethod.POST)
@ResponseBody
public ResponseData upload(@RequestParam("file") MultipartFile file) {
if (file.isEmpty()) {
return ResponseData.error("文件不能为空");
}
String fileName = file.getOriginalFilename();
File dest = new File(hdfsPath + fileName);
try {
file.transferTo(dest);
FileSystem fs = FileSystem.get(new URI(hdfsUri), new Configuration());
fs.copyFromLocalFile(new Path(hdfsPath + fileName), new Path(hdfsUri + hdfsPath));
fs.close();
dest.delete();
return ResponseData.success("上传成功");
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
return ResponseData.error("上传失败");
}
}
```
下载文件:
```java
@RequestMapping(value = "/download", method = RequestMethod.GET)
public void download(HttpServletResponse response, String fileName) {
try {
FileSystem fs = FileSystem.get(new URI(hdfsUri), new Configuration());
InputStream in = fs.open(new Path(hdfsUri + hdfsPath + fileName));
response.setContentType("application/octet-stream");
response.setHeader("Content-Disposition", "attachment; filename=" + fileName);
IOUtils.copy(in, response.getOutputStream());
in.close();
fs.close();
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
}
}
```
删除文件:
```java
@RequestMapping(value = "/delete", method = RequestMethod.POST)
@ResponseBody
public ResponseData delete(String fileName) {
try {
FileSystem fs = FileSystem.get(new URI(hdfsUri), new Configuration());
fs.delete(new Path(hdfsUri + hdfsPath + fileName), false);
fs.close();
return ResponseData.success("删除成功");
} catch (IOException | URISyntaxException e) {
e.printStackTrace();
return ResponseData.error("删除失败");
}
}
```
SSM框架分页展示Hadoop文件列表,返回上一级,进入下一级,上传文件,删除文件,下载文件前后端代码
由于问题比较复杂,需要涉及到前后端代码以及Hadoop文件操作的相关代码,无法在一篇回答中完整展示。我提供一个基本的思路和代码框架,供你参考。
1. 前端页面
前端页面需要包含以下功能:
- 分页展示Hadoop文件列表
- 返回上一级目录
- 进入下一级目录
- 上传文件
- 删除文件
- 下载文件
你可以使用Bootstrap或者其他前端框架来实现页面的美化和交互效果。
2. 后端代码
后端代码需要包含以下功能:
- 读取Hadoop文件列表,并进行分页处理
- 进入指定目录
- 返回上一级目录
- 上传文件
- 删除文件
- 下载文件
你可以使用SSM框架来实现后端代码的编写。
3. Hadoop文件操作
Hadoop文件操作需要使用Hadoop API来实现。以下是一些常用的Hadoop文件操作代码:
```java
// 创建Configuration对象
Configuration conf = new Configuration();
// 创建FileSystem对象
FileSystem fs = FileSystem.get(URI.create("hdfs://localhost:9000"), conf);
// 读取Hadoop文件列表
FileStatus[] fileStatuses = fs.listStatus(new Path("/path/to/directory"));
// 创建目录
fs.mkdirs(new Path("/path/to/new/directory"));
// 删除文件或目录
fs.delete(new Path("/path/to/file"), true);
// 上传文件
fs.copyFromLocalFile(new Path("/path/to/local/file"), new Path("/path/to/hdfs/file"));
// 下载文件
fs.copyToLocalFile(new Path("/path/to/hdfs/file"), new Path("/path/to/local/file"));
```
以上代码仅作为参考,实际使用时需要根据具体情况进行调整。
综上所述,你需要编写前端页面、后端代码以及Hadoop文件操作代码,实现分页展示Hadoop文件列表,返回上一级,进入下一级,上传文件,删除文件和下载文件等功能。
阅读全文