java web中 上传单文件和多文件代码
时间: 2024-09-29 18:15:08 浏览: 17
在Java Web中,处理文件上传通常涉及到HTML表单、Servlet或JSP以及MultipartFile(Spring MVC)或HttpPart(Java Servlet API)等技术。这里我会给出简单的单文件和多文件上传的代码示例。
### 单文件上传:
```java (Spring MVC)
// HTML 表单
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload">
<input type="submit" value="Upload File">
</form>
// Controller (Spring MVC)
import org.springframework.web.multipart.MultipartFile;
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("fileToUpload") MultipartFile file) {
if (!file.isEmpty()) {
try {
// 检查文件大小、类型等
// 将文件保存到服务器路径
file.transferTo(new File(serverPath + "/uploads/" + file.getOriginalFilename()));
return "success";
} catch (Exception e) {
return "error";
}
}
return "error"; // 文件为空
}
```
### 多文件上传:
```java (Spring MVC)
// HTML 表单
<form action="/upload-multiple" method="post" enctype="multipart/form-data">
<input type="file" name="files[]" multiple>
<input type="submit" value="Upload Files">
</form>
// Controller (Spring MVC)
@PostMapping("/upload-multiple")
public String handleMultiFileUpload(@RequestParam("files[]") List<MultipartFile> files) {
for (MultipartFile file : files) {
if (!file.isEmpty()) {
try {
// 处理每个文件
file.transferTo(new File(serverPath + "/uploads/" + file.getOriginalFilename()));
} catch (Exception e) {
// 错误处理
}
}
}
return "success";
}
```
**注意**: 以上代码需要与实际项目结构(如web.xml配置、MVC框架等)配合才能运行,并且确保有权限访问上传目录。同时,记得处理可能出现的安全风险,比如文件类型检查、大小限制等。