fileup2_in.jsp多文件同时上传
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %> <%@ page import="org.apache.commons.fileupload.*" %> <%@ page import="java.util.*,java.util.regex.*" %> <%@ page import="java.io.*" %> <%@ page import="javax.servlet.*,javax.servlet.http.*"%> <jsp:useBean id="test" scope="page" class="test.DBconn"/> <html> <head> <title>Untitled Document</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head>
<body> <% try{ String dir=request.getRealPath("."); DiskFileUpload fu = new DiskFileUpload(); fu.setSizeMax(4194304); //设置文件大小.
fu.setSizeThreshold(4096); //设置缓冲大小.
fu.setRepositoryPath(dir+"/test"); //设置临时目录. List fileItems = fu.parseRequest(request); //解析请求,返回一个集合. //System.out.println("fileItems="+fileItems.length()); Iterator i = fileItems.iterator(); String regExp=".+\\\\(.+)$"; String fieldvalue=""; String ff = ""; Object pid = ""; Vector vname = new Vector(); Vector v = new Vector(); //int k = 0; String[] errorType={".exe",".com",".cgi",".asp",".swf",".txt"}; //还没完成 Pattern p = Pattern.compile(regExp);
while(i.hasNext()) { FileItem fi = (FileItem)i.next(); if(fi.isFormField()) //这是用来确定是否为文件属性, { String fieldName = fi.getFieldName(); //这里取得表单名 fieldvalue=fi.getString(); //这里取得表单值 v.addElement(fieldvalue); // out.print("<br>1"); // out.print("name:"+fieldName); // out.print("value:"+fieldvalue); // System.out.println(fieldvalue); } else //这里开始外理文件 { File fullFile = new File(fi.getName()); File savedFile = new File(getServletContext().getRealPath("/test/images/"),fullFile.getName()); ff = fullFile.getName();
if(ff==null||ff.equals("")) continue; Matcher m = p.matcher(ff); boolean result = m.find(); if (result){ for (int temp=0;temp<errorType.length;temp++){ if (m.group(1).endsWith(errorType[temp])){ System.out.println(ff+": wrong type"); } } }
fi.write(savedFile); //上传到服务器 v.addElement(ff); } } for (int k = 0;k<(v.size()-1);k=k+3) { // for (int j = 0;j<vname.size();j++) // { pid = v.elementAt(k); //将数据写入到数据库 Object pixid = v.elementAt(k+1); Object ff2 = v.elementAt(k+2); //Object pic_url = v.elementAt(2); // Object seqno = v.elementAt(3); // System.out.println(down); //java.util.Date date = new java.util.Date(); // String strdate = date.toLocaleString(); // String url = tt + "/"; //int down = 20; //k++; // System.out.println(pid); // System.out.println(pixid); // System.out.println(ff2); System.out.println(v); try { String sql = "insert into picturelib(pid,pixid,pic_url)values("+pid+",'"+pixid+"','"+ff2+"')"; System.out.println("sql="+sql); test.executeUpdate(sql); } catch(Exception e) { System.out.println("insert into db error!"); } //} } } catch(Exception e) { System.out.println("upload saved error"); }
%> <script language="javascript"> alert("上传成功了,请返回!");window.location.reload("fileup.jsp"); </script> </body> </html>

|