下面给大家介绍一下上传文件的简单的代码,首先想上传文件就要导入一个包
放在WEB-INF下的lib文件中 smartupload.jar 它里面包含了上传文件所需要的类,由于架包在csdn博客里存在,本人无法上传,大家可以去其他博客里赵找了。下面我们直接来看代码这个是初始界面
fileupload.jsp页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="save.jsp" method="POST" enctype="multipart/form-data">
<!--<input type="file" name="file1"> 在这里要说的是,smart这里面以后一个属于自己的对象,所以会阻碍jsp中的request对象所以要用它自己的对象:如下 用它自己定义的对象smart.getrequest().getparmater()-->
<input type="file" name="file1"> <br>
<input type="file" name="file2"> <br>
<input type="file" name="file3"> <br>
<input type="submit" value="上传文件">
</form>
</body>
</html>```
这个是跳转的界面
**save.jsp** 因为是初学,所以在jsp页面中写java代码,并不是很好看,很工整,但功能还是能实现的。以后可以servlet与jsp结合,将页面这块与功能这块分开来做
```html
<%@ page import="java.text.SimpleDateFormat" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
java.io.File file = new File("/upload");
//判断文件夹是否存在
if (!file.exists()) {
file.mkdir();
}
SmartUpload smart = new SmartUpload();
smart.initialize(pageContext);
smart.upload();
String dest,fileExt,oldFileName,newFileName;
SimpleDateFormat formater;
Files files=smart.getFiles();
org.lxh.smart.File upfile ;
for(int i=0,len=files.getCount();i<len;i++){
upfile = smart.getFiles().getFile(i);
//这个地方是i,是我开始犯错地方
/**下面的这个判断很重要,上面是上传多个文件,如果不上传第一个,直接从二开始,不要这句话的会报错,这个就是判断前面的文件是否为空的情况,如果为空的话,那么continue 存在,所以将会跳出此次循环,for重新开始徐循环,这样就解决了**/
if("".equals(upfile.getFileName())){
continue;
}
//文件名
oldFileName = upfile.getFileName().substring(0, upfile.getFileName().indexOf("."));
//扩展名
fileExt = upfile.getFileExt();
Date now = new Date();
formater = new SimpleDateFormat("yyyy-MM-dd-HHmmss");
newFileName = oldFileName + formater.format(now);
dest =file.getAbsolutePath() + "\\"
+ newFileName + "." + fileExt;
//System.out.println(dest);//在控制台输出的主要是检验程序的错误在哪
out.println(dest); //在页面上输出的
//smart.save(dest);
upfile.saveAs(dest);
}
%>
</body>
</html>
这样就可以批量上传文件,也可以空过前面的,直接上传第二个。今天刚刚学,所以在此做了个笔记。