java图片如何上传
使用 Java 上传图片的方法
基于 Servlet 的文件上传
创建一个 Servlet 处理文件上传请求,使用 Part 对象获取上传的文件数据。示例代码如下:
@WebServlet("/upload")
@MultipartConfig
public class FileUploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Part filePart = request.getPart("file");
String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString();
InputStream fileContent = filePart.getInputStream();
Files.copy(fileContent, Paths.get("/path/to/save/" + fileName));
response.getWriter().print("Upload successful");
}
}
使用 Apache Commons FileUpload
添加依赖后,通过 ServletFileUpload 解析请求中的文件数据:

<dependency>
<groupId>commons-fileupload</groupId>
<artifactId>commons-fileupload</artifactId>
<version>1.4</version>
</dependency>
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
for (FileItem item : items) {
if (!item.isFormField()) {
item.write(new File("/path/to/save/" + item.getName()));
}
}
Spring Boot 文件上传
在 Spring Boot 中通过 MultipartFile 接收文件:

@PostMapping("/upload")
public String handleFileUpload(@RequestParam("file") MultipartFile file) {
String fileName = file.getOriginalFilename();
file.transferTo(new File("/path/to/save/" + fileName));
return "Upload successful";
}
客户端表单示例
HTML 表单需设置 enctype="multipart/form-data":
<form action="/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<button type="submit">Upload</button>
</form>
注意事项
- 确保服务器目录有写入权限
- 限制上传文件类型和大小
- 处理文件名冲突问题
- 考虑异步上传以提高用户体验






