[英]Could not parse multipart servlet request;.IllegalStateException: Unable to process parts as no multi-part configuration has been provided
[英]Unable to process parts as no multi-part configuration has been provided enctype='multipart/form-data' usage issue
我正在为个人资料上传文件,所以我需要上传数据和个人资料图片,以便以我们需要使用的形式上传文件,对吗? enctype='multipart/form-data' 当我使用它时,我所有的 rest 数据都在转换为 null 并且当我从我的表单中删除它时,我收到一个错误“无法处理部件,因为没有多部件配置提供”所以我无法从过去几个小时解决这个问题希望有人可以帮助我这里是整个代码 JSP
<%@page import="java.sql.*,java.text.*,javax.servlet.*,
java.security.MessageDigest,java.security.NoSuchAlgorithmException
,java.io.File,java.io.PrintWriter,java.awt.List,java.nio.file.Path,
java.nio.file.Paths,javax.servlet.http.Part,
javax.servlet.annotation.MultipartConfig,java.io.IOException"%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<%response.setContentType("text/html;charset=UTF-8");%>
<%!
static javax.servlet.http.Part part;
%>
<%!
private String extractFileName(Part part)
{
String contetntDisp=part.getHeader("content-disposition");
String[] items=contetntDisp.split(";");
for(String s: items)
{
if(s.trim().startsWith("filename"))
{
return s.substring(s.indexOf("=")+2,s.length()-1);
}
}
return "";
}
%>
<%
String username=(String) session.getAttribute("nkey");
String f_name =request.getParameter("f_name");
String l_name =request.getParameter("l_name");
part =request.getPart("profile_link");
//String p_l=request.getParameter("profile_link");
String id_link =request.getParameter("id_link");
//int age =Integer.parseInt(request.getParameter("age"));
String age =request.getParameter("age");
String gender =request.getParameter("gender");
String address =request.getParameter("address");
//int pincode =Integer.parseInt(request.getParameter("pincode"));
String pincode =request.getParameter("pincode");
String qualification =request.getParameter("qualification");
String year =request.getParameter("year");
String college_name =request.getParameter("college_name");
String state =request.getParameter("state");
String country =request.getParameter("country");
%>
<%!
private static final String SAVE_DIR="Pictures";
%>
<%
PrintWriter outt=response.getWriter();
String savePath="C:/Users/thots/Desktop/My World/internsip/Student_Portal 2.0/WebContent"+File.separator+SAVE_DIR;
File fileSaveDir=new File(savePath);
String fileName=extractFileName(part);
part.write(savePath + File.separator + fileName);
String filePath=savePath+File.separator + fileName;
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306/Student_Portal 2.0","root","");
Statement st=con.createStatement();
int i=st.executeUpdate("insert into student_details values('"+username+"','"+f_name+"','"+l_name+"','"+filePath+"','"+id_link+"','"+age+"','"+gender+"','"+address+"','"+pincode+"','"+qualification+"','"+year+"','"+college_name+"','"+state+"','"+country+"')");
if(i>0)
{
response.sendRedirect("index.jsp");
Statement stt=con.createStatement();
String sql="update user_login set P_Status='1' where username='"+username+"'";
stt.executeUpdate(sql);
}
else
{
System.out.println("Failed");
}
}
catch (Exception e)
{
e.printStackTrace();
}
%>
HTML代码
<form action="add_student_details.jsp" enctype="multipart/form-data" method="post">
<div class="container-fluid">
<div>
<label for="img">Upload Profile Picture</label>
<input name="profile_link" type="file" class="form-control" required>
</div>
<br>
<div>
<label for="img">Upload Your ID card</label>
<input name="id_link" type="file" class="form-control" required>
</div>
<br>
<div class="row">
<div class="col-6">
<input name="f_name" type="text" class="form-control" placeholder="First name" required>
</div>
<div class="col-6">
<input name="l_name" type="text" class="form-control" placeholder="Last name" required>
</div>
</div>
<br>
<div class="row">
<div class="col-6">
<input name="age" type="number" class="form-control" placeholder="Age" required>
</div>
<div class="col-6">
<select name="gender" class="form-control" required>
<option>Male</option>
<option >Female</option>
</select>
</div>
</div>
<br>
<div>
<textarea name="address" rows="4" cols="55" placeholder="Your Address" id="w3review" required></textarea>
</div>
<br>
<div>
<input name="pincode" type="number" class="form-control" placeholder="Pincode" required>
</div>
</div>
<br>
<hr>
<div class="modal-body">
<h4>Educational Info</h4>
</div>
<div class="container-fluid">
<div class="row">
<div class="col-6">
<select name="qualification" class="form-control" required>
<option selected disabled>Select Your Qualification</option>
<option>B.Tech</option>
<option >B.E</option>
</select>
</div>
<div class="col-6">
<select name="year" class="form-control" required>
<option selected disabled>Select Your Year</option>
<option>I</option>
<option >II</option>
<option>III</option>
<option >IV</option>
</select>
</div>
</div>
<br>
<div >
<select name="college_name" class="form-control" required>
<option selected disabled>Select Your College</option>
<option>ABCD College Of Engineering And Technology</option>
<option >XYZ College Of Engineering And Technology</option>
</select>
</div>
<br>
<div class="row">
<div class="col-6">
<select name="state" class="form-control" required>
<option selected disabled>Select Your State</option>
<option>Telangana</option>
<option >Kerala</option>
</select>
</div>
<div class="col-6">
<select name="country" class="form-control" required>
<option selected disabled>Select Your Country</option>
<option>India</option>
<option>United States</option>
</select>
</div>
</div>
<br>
<hr>
<center>
<button type="submit" class="submit-btn">Submit</button>
</center>
</div>
<br>
</form>
也添加了这个,但错误仍然没有解决 @MultipartConfig(fileSizeThreshold=1024 1024, maxFileSize=1024 1024 5, maxRequestSize=1024 1024 5 5)
尝试将 maxSwallowSize = "-1" 添加到 tomcat 的 server.xml 文件中。 下面的例子。
<Connector port="8080" protocol="HTTP/1.1"
maxSwallowSize = "-1"/>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.