要实现Java图片上传功能,可以按照以下步骤进行:
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="image">
<input type="submit" value="上传">
</form>
@WebServlet("/upload")
public class UploadServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 创建一个DiskFileItemFactory对象,用于将文件写入磁盘
DiskFileItemFactory factory = new DiskFileItemFactory();
// 创建一个ServletFileUpload对象,用于解析上传的文件数据
ServletFileUpload upload = new ServletFileUpload(factory);
try {
// 解析请求,获取所有上传的文件
List<FileItem> items = upload.parseRequest(request);
// 遍历所有上传的文件
for (FileItem item : items) {
if (!item.isFormField()) { // 如果是文件字段
// 获取文件名
String fileName = item.getName();
// 获取文件内容
InputStream fileContent = item.getInputStream();
// 将文件保存到服务器上,这里可以根据需要自定义保存的路径和文件名
Files.copy(fileContent, Paths.get("upload/" + fileName), StandardCopyOption.REPLACE_EXISTING);
}
}
// 上传成功后的处理逻辑,如返回上传成功的消息或者进行其他操作
response.getWriter().write("上传成功");
} catch (Exception e) {
// 上传失败后的处理逻辑,如返回失败信息或者进行其他操作
response.getWriter().write("上传失败");
}
}
}
这样,当用户选择图片并点击上传按钮时,选择的图片就会被发送到服务器,并保存到指定的目录中。