html5中文学习网

您的位置: 首页 > html5教程 > 入门教程 » 正文

html5实现多文件的上传示例代码_html5教程技巧

[ ] 已经帮助:人解决问题
点评:多文件的上传在以前或许实现起来会很复杂,不过自从html5的出现,让其变得非常容易,下面有个不错的示例,大家可以参考下
主要用到的是<input>的multiple属性 UhKHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
UhKHTML5中文学习网 - HTML5先行者学习网
<input type="file" name="multipleFileUpload" multiple /> UhKHTML5中文学习网 - HTML5先行者学习网
UhKHTML5中文学习网 - HTML5先行者学习网
下面是页面的详细代码: UhKHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
UhKHTML5中文学习网 - HTML5先行者学习网
<!DOCTYPE html> UhKHTML5中文学习网 - HTML5先行者学习网
<html> UhKHTML5中文学习网 - HTML5先行者学习网
<head> UhKHTML5中文学习网 - HTML5先行者学习网
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> UhKHTML5中文学习网 - HTML5先行者学习网
<title>Solution 4-5: Sending multiple files</title> UhKHTML5中文学习网 - HTML5先行者学习网
</head> UhKHTML5中文学习网 - HTML5先行者学习网
<body> UhKHTML5中文学习网 - HTML5先行者学习网
<form id="myForm" UhKHTML5中文学习网 - HTML5先行者学习网
action="http://10.10.25.31:8080/myupload/UploadPhotoServlet" ENCTYPE="multipart/form-data" METHOD="POST"> UhKHTML5中文学习网 - HTML5先行者学习网
<input type="file" name="multipleFileUpload" multiple /> <input UhKHTML5中文学习网 - HTML5先行者学习网
type="submit" value="提交"> <input type="reset" value="重设"> UhKHTML5中文学习网 - HTML5先行者学习网
</form> UhKHTML5中文学习网 - HTML5先行者学习网
</body> UhKHTML5中文学习网 - HTML5先行者学习网
</html> UhKHTML5中文学习网 - HTML5先行者学习网
UhKHTML5中文学习网 - HTML5先行者学习网
java后台的详细代码: UhKHTML5中文学习网 - HTML5先行者学习网

复制代码
代码如下:
UhKHTML5中文学习网 - HTML5先行者学习网
import java.io.File; UhKHTML5中文学习网 - HTML5先行者学习网
import java.io.IOException; UhKHTML5中文学习网 - HTML5先行者学习网
import java.text.SimpleDateFormat; UhKHTML5中文学习网 - HTML5先行者学习网
import java.util.Calendar; UhKHTML5中文学习网 - HTML5先行者学习网
import java.util.Date; UhKHTML5中文学习网 - HTML5先行者学习网
import java.util.List; UhKHTML5中文学习网 - HTML5先行者学习网
import javax.servlet.ServletException; UhKHTML5中文学习网 - HTML5先行者学习网
import javax.servlet.http.HttpServlet; UhKHTML5中文学习网 - HTML5先行者学习网
import javax.servlet.http.HttpServletRequest; UhKHTML5中文学习网 - HTML5先行者学习网
import javax.servlet.http.HttpServletResponse; UhKHTML5中文学习网 - HTML5先行者学习网
import org.apache.commons.fileupload.FileItem; UhKHTML5中文学习网 - HTML5先行者学习网
import org.apache.commons.fileupload.FileUploadException; UhKHTML5中文学习网 - HTML5先行者学习网
import org.apache.commons.fileupload.disk.DiskFileItemFactory; UhKHTML5中文学习网 - HTML5先行者学习网
import org.apache.commons.fileupload.servlet.ServletFileUpload; UhKHTML5中文学习网 - HTML5先行者学习网
/** UhKHTML5中文学习网 - HTML5先行者学习网
* Servlet implementation class UploadPhotoServlet UhKHTML5中文学习网 - HTML5先行者学习网
*/ UhKHTML5中文学习网 - HTML5先行者学习网
public class UploadPhotoServlet extends HttpServlet { UhKHTML5中文学习网 - HTML5先行者学习网
private static final long serialVersionUID = 1L; UhKHTML5中文学习网 - HTML5先行者学习网
/** UhKHTML5中文学习网 - HTML5先行者学习网
* @see HttpServlet#HttpServlet() UhKHTML5中文学习网 - HTML5先行者学习网
*/ UhKHTML5中文学习网 - HTML5先行者学习网
public UploadPhotoServlet() { UhKHTML5中文学习网 - HTML5先行者学习网
super(); UhKHTML5中文学习网 - HTML5先行者学习网
// TODO Auto-generated constructor stub UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
/** UhKHTML5中文学习网 - HTML5先行者学习网
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) UhKHTML5中文学习网 - HTML5先行者学习网
*/ UhKHTML5中文学习网 - HTML5先行者学习网
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UhKHTML5中文学习网 - HTML5先行者学习网
// TODO Auto-generated method stub UhKHTML5中文学习网 - HTML5先行者学习网
doPost(request,response); UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
/** UhKHTML5中文学习网 - HTML5先行者学习网
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) UhKHTML5中文学习网 - HTML5先行者学习网
*/ UhKHTML5中文学习网 - HTML5先行者学习网
@SuppressWarnings("unchecked") UhKHTML5中文学习网 - HTML5先行者学习网
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { UhKHTML5中文学习网 - HTML5先行者学习网
String imagePath="c://uploadFile//Image//"+getEachDate()+"//";//按日期生成文件夹 UhKHTML5中文学习网 - HTML5先行者学习网
File uploadPath=new File(imagePath); UhKHTML5中文学习网 - HTML5先行者学习网
if(!uploadPath.exists()){ UhKHTML5中文学习网 - HTML5先行者学习网
uploadPath.mkdirs(); UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
File tmp=new File("c://tmp//"); UhKHTML5中文学习网 - HTML5先行者学习网
if(!tmp.exists()){ UhKHTML5中文学习网 - HTML5先行者学习网
tmp.mkdirs(); UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
DiskFileItemFactory factory=new DiskFileItemFactory ();//创建磁盘工厂 UhKHTML5中文学习网 - HTML5先行者学习网
factory.setRepository(tmp);//设置文件缓存路径 UhKHTML5中文学习网 - HTML5先行者学习网
factory.setSizeThreshold(10 * 1096 );//将文件保存在内存还是磁盘临时文件夹的默认临界值,值为10240,即10kb UhKHTML5中文学习网 - HTML5先行者学习网
ServletFileUpload sfu=new ServletFileUpload(factory);//创建处理工具 UhKHTML5中文学习网 - HTML5先行者学习网
sfu.setSizeMax(10*1024*1024);//服务器端可以接收的最大文件大小,-1表示无上限 UhKHTML5中文学习网 - HTML5先行者学习网
String fileName=null; UhKHTML5中文学习网 - HTML5先行者学习网
try { UhKHTML5中文学习网 - HTML5先行者学习网
List<FileItem> list=sfu.parseRequest(request);//解析 UhKHTML5中文学习网 - HTML5先行者学习网
if(list.size()<1){ UhKHTML5中文学习网 - HTML5先行者学习网
return; UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
for(int j=0;j<list.size();j++){ UhKHTML5中文学习网 - HTML5先行者学习网
FileItem item=list.get(j); UhKHTML5中文学习网 - HTML5先行者学习网
fileName=item.getName(); UhKHTML5中文学习网 - HTML5先行者学习网
if(fileName.equals("")){ UhKHTML5中文学习网 - HTML5先行者学习网
request.getRequestDispatcher("/com/visualizerPhoto.jsp").forward(request, response); UhKHTML5中文学习网 - HTML5先行者学习网
return; UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
int pos=fileName.lastIndexOf(".");//取图片文件格式 UhKHTML5中文学习网 - HTML5先行者学习网
if(pos>0){ UhKHTML5中文学习网 - HTML5先行者学习网
Date date=new Date(); UhKHTML5中文学习网 - HTML5先行者学习网
fileName=imagePath+date.getTime()+fileName.substring(pos); UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
System.out.println("item:"+item); UhKHTML5中文学习网 - HTML5先行者学习网
item.write(new File(fileName));//写到磁盘 UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
} catch (FileUploadException e) { UhKHTML5中文学习网 - HTML5先行者学习网
e.printStackTrace(); UhKHTML5中文学习网 - HTML5先行者学习网
} catch (Exception e) { UhKHTML5中文学习网 - HTML5先行者学习网
e.printStackTrace(); UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
// 13-11-15 UhKHTML5中文学习网 - HTML5先行者学习网
public static String getEachDate() { UhKHTML5中文学习网 - HTML5先行者学习网
Calendar cal = Calendar.getInstance(); UhKHTML5中文学习网 - HTML5先行者学习网
cal.add(Calendar.DATE, 0); UhKHTML5中文学习网 - HTML5先行者学习网
String yesterday = new SimpleDateFormat("yyyy-MM-dd ").format(cal UhKHTML5中文学习网 - HTML5先行者学习网
.getTime()); UhKHTML5中文学习网 - HTML5先行者学习网
String[] dates = yesterday.split("-"); UhKHTML5中文学习网 - HTML5先行者学习网
String realDate = dates[0].substring(2, 4) + "-" + dates[1] + "-" UhKHTML5中文学习网 - HTML5先行者学习网
+ dates[2]; UhKHTML5中文学习网 - HTML5先行者学习网
return realDate.trim(); UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
} UhKHTML5中文学习网 - HTML5先行者学习网
UhKHTML5中文学习网 - HTML5先行者学习网
下面是效果图:UhKHTML5中文学习网 - HTML5先行者学习网
UhKHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助