1. 加jar包:commons-fileupload.jar, commons-io.jar
2. JSP页面中增加form:
<form enctype="multipart/form-data" method="post" action="uploadVideo"><input type="file" name="file1"/>
<input type="submit" name="submit1" value="提交"/>
</form>
3. 增加servlet:
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String tempDirectory = "d:/temp/"; //要在最后加上斜杠:temp/
try { int sizeThreshold = 1024 * 64; //写满该大小的缓存后,存入硬盘中。
File repositoryFile = new File(tempDirectory);
FileItemFactory factory = new DiskFileItemFactory(sizeThreshold, repositoryFile);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(500 * 1024 * 1024); // set every upload file'size less than 500M
List items = upload.parseRequest(request); //这里开始执行上传
Iterator iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next(); //FileItem就是表示一个表单域。
if(item.isFormField()){ //isFormField方法用于判断FileItem是否代表一个普通表单域(即非file表单域)
System.out.println("***"+item.getFieldName());
}else {
//String fieldName = item.getFieldName(); //获取表单域name属性的值
// String fileName = item.getName(); //返回该文件在客机上的文件名。e.g: e:\dianying\\video\1.wmv
// System.out.println("*****"+fieldName);
// System.out.println("*****"+fileName);
String path = item.getName();
String fileName = path.substring(path.lastIndexOf("\\"));
File uploadedFile = new File("d:/video/" + fileName);
item.write(uploadedFile);
}
}
} catch (Exception e) {
e.printStackTrace();
}
}