java写上传 文件到服务器 参数为 MultipartFile file
时间: 2024-09-06 13:06:19 浏览: 48
SpringMVC 上传文件 MultipartFile 转为 File的方法
在Java中,当你需要将文件上传到服务器时,`MultipartFile`是一个Spring MVC框架提供的模型绑定类,它封装了HTTP请求中的文件数据。当你处理POST请求,特别是那些包含表单数据的上传请求时,可以使用这个类。
下面是一个简单的示例,展示了如何在控制器方法中接收并处理`MultipartFile`:
```java
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.Paths;
@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file, HttpServletResponse response) throws IOException {
if (file.isEmpty()) {
// 如果文件为空,则返回错误信息
return "error: 文件为空";
}
try {
// 检查文件是否有效,并获取文件名
String fileName = file.getOriginalFilename();
// 创建临时目录或指定存储路径
Path targetDir = Paths.get("/path/to/your/upload/directory");
// 写入文件到服务器上
Path filePath = Files.createTempFile(targetDir.toAbsolutePath(), "", fileName);
file.transferTo(filePath);
// 返回上传成功的消息或跳转
return "success: 文件" + fileName + "已上传";
} catch (Exception e) {
// 处理上传失败的情况
response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
return "error: " + e.getMessage();
}
}
阅读全文