codice:
+ "<form action=\"pAddDoc\" method=\"post\" enctype=\"multipart/form-data\" >"
+ "<fieldset>"
+ "<legend>Document information</legend>"
+ "<input type=hidden name=user value='"+user+"'>"
+ "<div> <label>Document:</label><input type=file name=fileUpload> </div>"
+ "<input type=submit value=Add></input>"
+ "</fieldset>"
+ "</form>"
codice:
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
try {
String nuovo = "no";
String tipo = "xlsx";
Class.forName("com.mysql.jdbc.Driver");
String connectionUrl = "jdbc:mysql://localhost/prog?" + "user=root&password=";
con = DriverManager.getConnection(connectionUrl);
Statement stmt = con.createStatement();
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List items = upload.parseRequest(request);
Iterator itr = items.iterator();
while(itr.hasNext()) {
FileItem item = (FileItem) itr.next();
if(!item.isFormField()) {
File fullFile = new File(item.getName());
File savedFile = new File(getServletContext().getRealPath("/"), fullFile.getName());
//out.println(savedFile.exists()); true è presente, false non c'è
if (item.getName().contains(tipo)){
out.println("<tr>"
+ "<td style=background-color:#eeeeee>"
+ "il file deve essere di formato .xls"
+ "</td>"
+ "</tr>");//terza riga
}
else
if (savedFile.exists()){
out.println("<tr>"
+ "<td style=background-color:#eeeeee>"
+ "Already exists a file with this name. Move back to upload a file with differet name."
+ "</td>"
+ "</tr>");//terza riga
}
else {
item.write(savedFile);
stmt.executeUpdate("INSERT INTO listafile (UppatoDa,NomeFile,Stato) VALUES ('"+user+"','"+item.getName()+"','"+nuovo+"' ) ");
out.println("<tr>"
+ "<td style=background-color:#eeeeee>"
+ "File saved."
+ "</td>"
+ "</tr>");//terza riga
}
}
}//fine while
}catch (Exception e) {
out.println("errore: "+e.getMessage());
}
}//fine multipart
questo è il codice. Il primo per l'upload e il secondo per il salvataggio del file uppato. Dove devo andare a inserire il controllo isFormField? Non mi è molto chiaro...