67,512
社区成员
发帖
与我相关
我的任务
分享
// 判断enctype属性是否为multipart/form-data
boolean isMultipart = ServletFileUpload.isMultipartContent(request);
if(isMultipart){
//下面这两行构造文件上传处理对象
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
Iterator items;
try {
//下面这行解析表单提交的所有文件内容
items = upload.parseRequest(request).iterator();
while (items.hasNext()) {
FileItem item = (FileItem) items.next();
if (!item.isFormField()) {
//下面这段代码取出文件名,和服务器的存储路径,上传的文件将被存储在当前项目的file文件夹
String name = item.getName();
String fileName = name.substring(name.lastIndexOf('\\') + 1, name.length());
String path = request.getRealPath("file")+ File.separatorChar + fileName;
// 上传文件
File uploadedFile = new File(path);
item.write(uploadedFile);
U_usermessage_zhaopian=path;//为照片赋值!!
System.out.println("照片路径:"+path);
}else{
int id=GetID.GetID()+1;//定义id变量,次数据在插入数据库时有系统计算生成
System.out.println("获取到ID为"+id);
String U_usermessage_xingming=item.getString("U_usermessage_xingming");//获取姓名 String U_usermessage_fadongjihao=item.getString("U_usermessage_fadongjihao");//获取发动机号
String U_usermessage_chehao=item.getString("U_usermessage_chehao");//获取车号
String U_usermessage_pinpaixinghao=item.getString("U_usermessage_pinpaixinghao");//获取品牌型号
//由于日期需要转换,将所有日期放在一个try,catche里面处理缩小代码块
Date U_usermessage_nianshenriqi = null;//获取年审日期
Date U_usermessage_erbaoriqi = null;//获取二保日期
Date U_usermessage_yunyingzhengriqi= null;//获取运营证日期
Date U_usermessage_baoxianriqi= null;//获取保险日期
Date U_usermessage_luohuriqi= null;//获取落户日期
Date U_usermessage_zhuceriqi= null;//获取注册日期
Date U_usermessage_shangyexianshijian= null;//获取商业保险日期
try {
//获取年审日期
U_usermessage_nianshenriqi = DateFormat.getDateInstance().parse(item.getString("U_usermessage_nianshenriqi"));
//获取二保日期
U_usermessage_erbaoriqi=DateFormat.getDateInstance().parse(item.getString("U_usermessage_erbaoriqi"));
//获取运营证日期
U_usermessage_yunyingzhengriqi=DateFormat.getDateInstance().parse(item.getString("U_usermessage_yunyingzhengriqi"));
//获取保险日期
U_usermessage_baoxianriqi=DateFormat.getDateInstance().parse(item.getString("U_usermessage_baoxianriqi"));
//获取落户日期
U_usermessage_luohuriqi=DateFormat.getDateInstance().parse(item.getString("U_usermessage_luohuriqi"));
//获取注册日期
U_usermessage_zhuceriqi=DateFormat.getDateInstance().parse(item.getString("U_usermessage_zhuceriqi"));
//获取商业保险日期
U_usermessage_shangyexianshijian=DateFormat.getDateInstance().parse(item.getString("U_usermessage_shangyexianshijian"));
} catch (ParseException e) {
// TODO Auto-generated catch block
System.out.println("时间转换出问题!!");
e.printStackTrace();
}
//获取运营证号
String U_usermessage_yunyingzhenghao=item.getString("U_usermessage_yunyingzhenghao");
//获取保单号码
String U_usermessage_baodianhao=item.getString("U_usermessage_baodianhao");
//获取手机号码
String U_usermessage_shouji=item.getString("U_usermessage_shouji");
//获取车架号码
String U_usermessage_chejiahao=item.getString("U_usermessage_chejiahao");
//获取固定电话号码
String U_usermessage_gudingdianhua=item.getString("U_usermessage_gudingdianhua");
//获取保险金额,被进行强制转换
Double U_usermessage_baoxianjine=(Double.parseDouble(item.getString("U_usermessage_baoxianjine")));
//获取商业限金额,进行强制转换
Double U_usermessage_shangyexianjine=(Double.parseDouble(item.getString("U_usermessage_shangyexianjine")));
//获取备注文本
String beizhu=item.getString("beizhu");
<body>
<%!
Date now=new Date();
String form=String.format("%tF",now);
%>
<form action="Uploadfile" method="post" enctype="multipart/form-data">
<p>上传的文件是:(文件大小不要超过2MB)<br>
<input type="file" name="file" size="80"/><br/>
<p>文件描述
<input type="text" name="upDe" size="80"/><br>
<p>上传时间
<input type="text" name="uptime" size="80"/><br/>
<input type="submit" value="提交"/>
</form>
</body>
package com.servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class Uploadfile extends HttpServlet {
protected void service(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
String uploadPath=this.getServletContext().getRealPath("/file");
String message=null,content=null,dtme=null;
try{
if(ServletFileUpload.isMultipartContent(request)){ //判断获取的是不是文件
DiskFileItemFactory disk=new DiskFileItemFactory();
disk.setSizeThreshold(20*1024); //设置内存可存字节数
disk.setRepository(disk.getRepository()); //设置临时文件目录
ServletFileUpload up=new ServletFileUpload(disk);
int maxsize=2*1024*1024;
List list=up.parseRequest(request); //获取上传列表
Iterator i=list.iterator(); //创建列表的迭代器
while(i.hasNext()){
FileItem fm=(FileItem)i.next();//遍历列表
if(!fm.isFormField()){
String filePath=fm.getName(); //获取文件全路径名
String fileName="";
int startIndex=filePath.lastIndexOf("\\");
if(startIndex!=-1){ //对文件名进行截取
fileName=filePath.substring(startIndex+1);
}else{
fileName=filePath;
}
if(fm.getSize()>maxsize){
message="文件太大了,不要超过2MB";
break;
}
String fileSize=new Long(fm.getSize()).toString();
if((fileName==null)||fileName.equals("")&&(fileSize.equals("0"))){
message="文件名不能为空,文件大小也不能为零!";
break;
}
File saveFile=new File(uploadPath,fileName);
fm.write(saveFile);//向文件中写入数据
message="文件上传成功!";
}else{
String foename=fm.getFieldName();//获取表单元素名
String con=fm.getString("GBK");
//表单元素
if(foename.equals("upDe")){
content=con;
}else if(foename.equals("uptime")){
dtme=con;
}
}
}
}
}catch(Exception ex){
ex.printStackTrace();
}
request.setAttribute("result", message);
request.setAttribute("upDe", content);
request.setAttribute("dtme", dtme);
request.getRequestDispatcher("message.jsp").forward(request, response);
}
}
<body>
<table border=1>
<tr>
<td>上传情况:</td>
<td><%=request.getAttribute("result") %></td>
</tr>
<tr>
<td>上传情况:</td>
<td><%=request.getAttribute("upDe") %></td>
</tr>
<tr>
<td>上传时间:</td>
<td><%=request.getAttribute("dtme") %></td>
</tr>
</table>