`

Jsp上传文件

阅读更多
说明:没有解决中文乱码问题
smartUpload是一个比较方便的上传文件的组件,利用它几行代码就可以将文件上传到服务器,这里是我写得一个简单的上传文件代码,经测试可以使用,smartUpload特别使用语上传文件比较小的时候,当文件比较大,超过三十兆的时候有可能就会出现异常,这是需要我们注意的地方。
上传页面代码:
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>File Upload</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <form action="<%=path%>/upCl.jsp" method="post" enctype="multipart/form-data">
    	<table width="500" cellpadding="0" cellspacing="0">
    		<tr>
    			<td>
    				<div>
    					<input type="file" name="file1">
    				</div>
    			</td>
    		</tr>
    			<tr>
    			<td>
    				<div>
    					<input type="file" name="file2">
    				</div>
    			</td>
    		</tr>
    		    		</tr>
   			<tr>
   			<td>
   				<div>
   					<input type="file" name="file3">
   				</div>
   			</td>
    		</tr>
    		<tr>
    			<td>
    				<div>
    					<input type="submit" value="提交">
    				</div>
    			</td>
    		</tr>
    	</table>
    </form>
  </body>
</html>


上传文件的处理jsp代码:
<%@ page language="java" import="java.util.*,com.jspsmart.upload.*" pageEncoding="utf-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'upCl.jsp' starting page</title>
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <%
    	//得到一个SmartUpload对象
    	SmartUpload su=new SmartUpload();
    	//上传下载前的初始化方法
    	su.initialize(pageContext);
    	//设置不可以上传的文件后缀列表,没有后缀名的文件也不能上传,用,,来表示
    	String denieddList="exe,bat,,";
    	su.setDeniedFilesList(denieddList);
    	//设置可以上传的文件
    	String allowedList="doc,txt,jpeg,png,bmp,rar,zip,pdf,chm";
    	su.setAllowedFilesList(allowedList);
    	//设定单个文件的最大值不超过10兆
    	su.setMaxFileSize(1024*1024*10);
    	su.upload();
    	Files files=su.getFiles();
    	for(int i=0;i<files.getCount();++i){
    		File file=files.getFile(i);
    		//判断有没有上传文件
    		if(file.isMissing()){
    			continue;
    		}
    		String filename=file.getFileName();
    		String ext=file.getFileExt();
    		String filepathname=file.getFilePathName();
    		String size=file.getSize()+"";
    		String filedname=file.getFieldName();
    		out.println("文件信息:");
    		out.println("文件全路径名:"+filepathname+"<br>");
    		out.println("文件名"+filename+"<br>");
    		out.println("字段名:"+filedname+"<br>");
    		out.println("文件后缀名:"+ext+"<br>");
    		out.println("文件大小:"+size+"<br>");
    		out.print("<p><p>");
    		//将文件上传到Web应用目录下的upload目录下,这个需要在Web应用目录下事先建好一个upload目录
    		//网上说得那个加后缀名的方法试了一下,提示找不到路径,
    		su.save("/upload",File.SAVEAS_VIRTUAL);
    	}
     %>
     <a href="<%=path%>/up.jsp">上传文件成功,点此继续上传文件</a>
  </body>
</html>

分享到:
评论
1 楼 深夜的清风 2012-07-31  
写得很不错,可惜不能正常运行

相关推荐

Global site tag (gtag.js) - Google Analytics