1.创建java web 项目
2.编写两个jsp页面(load.jsp;upload.jsp)
3.所需jar包(jsmartcom_zh_CN.jar)
4.代码如下:
load.jsp
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>文件上传</title>
<script>
function initname(){
var filename = formname.fileforload.value;
if(filename == "" || filename == null){
alert(" 请先选择您要上传的文件");
}else if(check(filename)){
alert("只能上传doc,xls,jpg,zip格式的压缩文件");
}else{
formname.submit();
}
}
function check(filename){
var index = filename.lastIndexOf(".");
var endname = filename.substr(index+1);
var str = "pdf||doc||xls||jpg||DOC||XLS||JPG||ZIP||zip";
if(str.indexOf(endname)<0){
return true;
}else{
return false;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="./upload.jsp" method="post" name="formname" enctype="multipart/form-data">
请选择图片文件:
<input name="fileforload" style="height:20px;width:160px" type="file"/>
<a href="javascript:initname();" style="text-decoration: none;background-color:#0cf;padding:0px 5px;">上传</a>
</form>
</body>
</html>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>文件上传</title>
<script>
function initname(){
var filename = formname.fileforload.value;
if(filename == "" || filename == null){
alert(" 请先选择您要上传的文件");
}else if(check(filename)){
alert("只能上传doc,xls,jpg,zip格式的压缩文件");
}else{
formname.submit();
}
}
function check(filename){
var index = filename.lastIndexOf(".");
var endname = filename.substr(index+1);
var str = "pdf||doc||xls||jpg||DOC||XLS||JPG||ZIP||zip";
if(str.indexOf(endname)<0){
return true;
}else{
return false;
}
}
</script>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="css/admin.css" rel="stylesheet" type="text/css" />
</head>
<body>
<form action="./upload.jsp" method="post" name="formname" enctype="multipart/form-data">
请选择图片文件:
<input name="fileforload" style="height:20px;width:160px" type="file"/>
<a href="javascript:initname();" style="text-decoration: none;background-color:#0cf;padding:0px 5px;">上传</a>
</form>
</body>
</html>
upload.jsp
<%@ page language="java" import="java.util.*,java.io.*,com.jspsmart.upload.*,com.file.tools.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<html>
<head>
<base href="<%=basePath%>">
<title>文件上传</title>
</head>
<head>
<base href="<%=basePath%>">
<title>文件上传</title>
</head>
<body>
<%try{
SmartUpload mySmartUpload = new SmartUpload();
mySmartUpload.initialize(pageContext);
//开始上传
mySmartUpload.upload();
//将上传的文件全部保存在/upload目录下
String keepFilePath = request.getRealPath("/load");
if( mySmartUpload.getFiles().getCount()<=0){
out.print("<script>alert('找不到您要上传的文件!');</script>");
}
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i);
String oldFileName=file.getFileName();
System.out.println("oldFileName="+oldFileName);
String uuid=UUID.randomUUID().toString();
int beginIndex=oldFileName.lastIndexOf(".");
String newFileName=uuid+oldFileName.substring(beginIndex, oldFileName.length());
if (file.isMissing()) continue;
System.out.println("size="+file.getSize());
if(file.getSize()<= 10*1024*1024){
file.saveAs(keepFilePath+"/"+newFileName);
out.print("文件上传成功!");
} else{
out.print("<script>alert('您上传的文件不能大于10MB!');</script>");
out.print("文件上传失败!");
}
<%try{
SmartUpload mySmartUpload = new SmartUpload();
mySmartUpload.initialize(pageContext);
//开始上传
mySmartUpload.upload();
//将上传的文件全部保存在/upload目录下
String keepFilePath = request.getRealPath("/load");
if( mySmartUpload.getFiles().getCount()<=0){
out.print("<script>alert('找不到您要上传的文件!');</script>");
}
for (int i = 0; i < mySmartUpload.getFiles().getCount(); i++) {
com.jspsmart.upload.File file = mySmartUpload.getFiles().getFile(i);
String oldFileName=file.getFileName();
System.out.println("oldFileName="+oldFileName);
String uuid=UUID.randomUUID().toString();
int beginIndex=oldFileName.lastIndexOf(".");
String newFileName=uuid+oldFileName.substring(beginIndex, oldFileName.length());
if (file.isMissing()) continue;
System.out.println("size="+file.getSize());
if(file.getSize()<= 10*1024*1024){
file.saveAs(keepFilePath+"/"+newFileName);
out.print("文件上传成功!");
} else{
out.print("<script>alert('您上传的文件不能大于10MB!');</script>");
out.print("文件上传失败!");
}
}
}catch(Exception e){
out.print("upload error.");
e.printStackTrace();
}
%>
</body>
</html>
}catch(Exception e){
out.print("upload error.");
e.printStackTrace();
}
%>
</body>
</html>