more file upload

王朝网络·java/jsp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

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>

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有