<form action="doindex.jsp" enctype="multipart/form-data" method="post">
头像:<input type="file" name="ifile" multiple="multiple"/><br>
<input type="submit" value="注册" />
<input type="reset" value="清空" />
</form>
文件选着逻辑界面:
<%@page import="java.util.Random"%>
<%@page import="java.net.InetAddress"%>
<%@page import="com.jspsmart.upload.Files"%>
<%@page import="com.jspsmart.upload.Request"%>
<%@page import="com.jspsmart.upload.File"%>
<%@page import="com.jspsmart.upload.SmartUpload"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
//客户端的文件到底是上传到哪里去?
//A:数据库里 F 放的是文件在服务器硬盘上所对应的路径
//B:服务器硬盘上某个文件夹里 T
/* public String getIPTimeRand() {
//实例化StringBuffer对象,用来做文件名拼接
StringBuffer buf=new StringBuffer();
//获得本机的IP地址
InetAddress addr = InetAddress.getLocalHost();
ip=addr.getHostAddress().toString;//获得本机IP
address=addr.getHostName().toString;//获得本机名称
//获得当前时间戳
SimpleDateFormat date=new SimpleDateFormat("yyyyMMddHHmmssSSS");
date.format(new Date());
//获得一个3位数的随机数
Random r=new Random();
for(int i=0; i<3; i++){
buf.append(r.nextInt(10));
}
return buf;
} */
//实现文件上传
//单文件上传
//--自动获取web项目的根目录
//实例化
SmartUpload su = new SmartUpload();
//初始化 pageContext属于九大内置对象之一 作用域仅限于当前页面
su.initialize(pageContext);
//设置相关要求
su.setCharset("utf-8");//编码方式
su.setAllowedFilesList("jpg,png,gif,jpeg");//允许文件上传类型列表
su.setDeniedFilesList("exe,jsp,bat");//禁止上传文件类型列表
//上传到服务器内存
su.upload();
//定义上传到服务器硬盘的文件夹
/* String path = "images/";
//获取第一个文件
File file = su.getFiles().getFile(0);
//判断是否选择了文件
if(!file.isMissing()){//说明选择了
file.setCharset("utf-8");//设置文件的编码方式
path+=file.getFieldName();//拼接原有的文件名 images/1.gif
file.saveAs(path,SmartUpload.SAVE_VIRTUAL);//自动找web项目的目录
}
out.print(path); */
//--手动获取web项目的根目录
//先找到web项目的根目录
/* String webPath = this.getServletContext().getRealPath("/");
String path = "images/";
//获取第一个文件
File file = su.getFiles().getFile(0);
if(!file.isMissing()){//说明选择了
file.setCharset("utf-8");//设置文件的编码方式
path+=file.getFieldName();//拼接原有文件名 images/3.gif
file.saveAs(webPath+path);//完整路径
}
out.print(webPath);
//去表单其他值
//建议在上传表文件之后再取表单其他值
//获取request对象
Request req = su.getRequest();
String name = req.getParameter("iname");
out.print("<br />取到了:"+name); */
//多文件上传
//拿到所有文件
Files fs = su.getFiles();
//拿到上传的总数目
int n = fs.getCount();
//循环
for(int i =0;i<n;i++){
//依次获取每一个文件 依次进行上传
File file = fs.getFile(i);
String path = "images/";
//判断是否选择了文件
if(!file.isMissing()){//说明选择了
file.setCharset("utf-8");//设置文件的编码方式
path+=file.getFieldName();//拼接原有的文件名 images/1.gif
file.saveAs(path,SmartUpload.SAVE_VIRTUAL);//自动找web项目的目录
}
out.print(n);
}
%>