今天在做一个作业提交批改系统的时候遇到了这样的问题 后端只能得到图片对象,得不到其他参数 前端代码如下所示 <form action="PublishServlet" method="post" enctype="multipart/form-data"> <tr> <td>照片:</td> <td><input type="file" name="photo"></td> </tr> </form>
后端代码如下
@WebServlet(name = "PostHomeworkServlet", value = "/PostHomeworkServlet") public class PostHomeworkServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Date date = new Date();//获取当前提交作业的时间 String dateStr = DateConvert.dateToStr(date); System.out.println(dateStr); //图片上传部分 得到文件名 Part part = request.getPart("photo"); String header = part.getHeader("content-disposition"); String photo = ((header.split(";")[2]).split("=")[1]).replaceAll( "\"", ""); int homeworkid = Integer.parseInt(request.getParameter("homeworkid")); int studentid = Integer.parseInt(request.getParameter("studentid")); //指定上传路径 String upLoadPath = getServletContext().getRealPath("/"); upLoadPath += "\\imgs"; //完成上传 try { part.write(upLoadPath + File.separator + photo); System.out.println("ok"); } catch (IOException e) { System.out.println("error"); } PostHomeworkDAO postHomeworkDAO = new PostHomeworkDAO(); Posthomework posthomework = new Posthomework(dateStr, photo, homeworkid, studentid); if (postHomeworkDAO.insert(posthomework)) { response.sendRedirect("FinAllHomeworkServlet"); } }
后发现问题是没有加
@MultipartConfig
注解
加上就可以获得其他参数了