Html 根据定义的类别将文件上载到目标文件夹

Html 根据定义的类别将文件上载到目标文件夹,html,jsp,multipartform-data,Html,Jsp,Multipartform Data,我想根据下拉列表中定义的类别将文件上载到指定的文件夹。我使用了o'reilly api上载文件,将文件存储到单个文件夹。我使用了两个下拉列表(主类别和子类别)。如果用户定义了他的选项,然后应该更改路径,并将文件上载到指定文件夹,例如:“c:\output\aero\int”。路径将是动态的,并将根据用户输入而更改。上载文件的“我的代码” <%@page import="javax.ejb.DuplicateKeyException"%> <%@ page import="j

我想根据下拉列表中定义的类别将文件上载到指定的文件夹。我使用了o'reilly api上载文件,将文件存储到单个文件夹。我使用了两个下拉列表(主类别和子类别)。如果用户定义了他的选项,然后应该更改路径,并将文件上载到指定文件夹,例如:“c:\output\aero\int”。路径将是动态的,并将根据用户输入而更改。上载文件的“我的代码”

<%@page import="javax.ejb.DuplicateKeyException"%>
<%@ page   import="java.io.*,java.sql.*,java.util.zip.*,com.oreilly.servlet.*,com.oreilly.servlet.MultipartRequest,javax.servlet.http.HttpServletResponse" %>
<!DOCTYPE html>

<%
 ResultSet rs=null;

Connection connection = null;
String connectionURL = "jdbc:mysql://localhost:3306/ksa";
PreparedStatement psmnt = null;
    PreparedStatement psmnt1=null;
    PreparedStatement psmnt2=null;
    String path;
    path="/home/adapco/Desktop/output";
    MultipartRequest request2=new MultipartRequest(request,path,1024*1024*1024);

String filename=request2.getFilesystemName("file");
String file1=request2.getParameter("file1");
String selectedValue=request2.getParameter("sel1");
String select1=request2.getParameter("sel2");
String concat=selectedValue+"." +select1;
File f=request2.getFile("file");
//out.println(f.exists()+"----------------"+f.getAbsolutePath());
//out.print(filename);

  Class.forName("com.mysql.jdbc.Driver").newInstance();

 connection = DriverManager.getConnection(connectionURL, "root", "root");
 try
 {  

  java.sql.Date sqlDate = new java.sql.Date(new java.util.Date().getTime());

  psmnt1 = connection.prepareStatement("insert into   file12(id,file_description,file_path,file_date) values(?,?,?,'"+ sqlDate+"')");

  psmnt1.setString(1, concat);
  psmnt1.setString(2, file1);
  psmnt1.setString(3, f.getPath());
  //psmnt.setString(3, "sqlDate");
 //String query="select * from file12";
  int s=psmnt1.executeUpdate();
  if(s>0)
  {
 System.out.println("Uploaded successfully !");
 }
 else
  {
 System.out.println("Error!");
 }
 psmnt=connection.prepareStatement("select * from file12");
 rs=psmnt.executeQuery();
 }

 catch(Exception e)
 {
 out.print(" the file already exist"+e);
 }

 %>
 <table cellpadding="15" border="1">
 <%
  while(rs.next()){
  %>
 <tr>
<td><%=rs.getString(1)%> </td>
<td><%=rs.getString(2)%> </td>
<td><%=rs.getString(3)%> </td>
<td><%=rs.getString(4)%></td>
</tr>
<%}%>
 <a href="index.jsp">home</a><br>
  <a href="sample.jsp">upload file</a>
 </table>
 <%
 response.sendRedirect("index.jsp");
 %>
上面的代码显示了一个错误

  java.io.IOException: Corrupt form data: premature ending
如果仅创建了多部分对象,则会显示

  request2 is not initialized.

我正在比较连接值以获得用户定义的类别。

是的,可以上载具有特定文件夹名称的文件

第一步。使用ajax请求提交表单,并使用创建文件夹时使用的url发布参数。 例如:

var url ="test?folder1=f1&folder2=f2"
$('form').attr('action',url);
使用ajax或javascript表单提交表单后。提交

并在
request.getParameter('folder1')、request.getParameter('folder2')


很好用。

你试过什么?我没有看到任何代码显示你的努力。你想让用户为你写代码吗?@HardikMishra:我已经定义了我要做的事情
  request2 is not initialized.
var url ="test?folder1=f1&folder2=f2"
$('form').attr('action',url);