文件上传(纯jsp编写,无框架)
2016-11-25 16:31
363 查看
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>
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+"/";
%>
<html>
<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("文件上传失败!");
}
}
}catch(Exception e){
out.print("upload error.");
e.printStackTrace();
}
%>
</body>
</html>
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>
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+"/";
%>
<html>
<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("文件上传失败!");
}
}
}catch(Exception e){
out.print("upload error.");
e.printStackTrace();
}
%>
</body>
</html>
相关文章推荐
- 用JSP编写文件上传
- 用JSP编写文件上传的程序
- 用JSP编写文件上传
- ueditor跨域上传图片文件(基于jsp框架、tomcat)
- 基于SSM框架的多文件上传Controller类编写
- jsp+servlet实现文件上传(不使用任何组件和框架)
- 简单的JSP文件上传
- jsp文件上传 利用组件
- JSP文件上传体会(采用JAVABEAN上传)
- JSP利用组件实现文件上传的全攻略
- jspsmart实现文件上传下载
- 研究了三天的文件上传(jspsmart实现)file和text表单同时提交的问题
- FCKeditor+jspsmart实现文件上传
- 用JSP实现上传文件的两种方法
- 使用Eclipse 3.1 WST编写Struts文件上传
- JSPSmart实现文件上传时file和text表单同时提交的问题
- 用jsp上传图片文件,存贮到字段类型为blob的流形式代码
- 用jsp编写文件上载
- 在jsp中使用smartupload组件上传文件
- 利用jspsmartupload组件来上传和下载文件