⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 file_upload.jsp

📁 一个用jsp写的完整的论坛源代码
💻 JSP
字号:
<%@ page contentType="text/html; charset=GBK" %>
<%@ page import="com.bcxy.util.*,java.util.*,com.bcxy.fileupload.*"%> 
<jsp:useBean id="jw" scope="page" class="com.bcxy.db.JdbcWrapper" />
<HTML>
<HEAD>
<%
String uploadPath = SysUtil.getRealPath() + "/WEB-INF/upload/";
String tempName = "", errMsg = "", fileExt = "", name = "";
String allowFileList = "zip,rar,doc,txt";
long fileSize = 0;
String strLoad = request.getParameter("upload");
try{ 
	if ("up".equals(strLoad)) {//验证会员上传
		String upUser = com.bcxy.bbs.util.GCookie.getCookieValue(request, "UJBBUName", "guest");
		if("guest".equals(upUser)){
			out.print("<script>alert('只有会员才能上传文件!');</script>");
			return;
		}
		FileUpload fu = new FileUpload();
		//fu.setHeaderEncoding("UTF-8");
		// 设置允许用户上传文件大小,单位:字节
		fu.setSizeMax(2028001);
		// 设置最多只允许在内存中存储的数据,单位:字节
		fu.setSizeThreshold(102401);
		// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录		
		fu.setRepositoryPath(uploadPath);
		//设置允许上传文件扩展名
		fu.setAllowedFilesList(allowFileList);
		//开始读取上传信息
		List fileItems = fu.parseRequest(request);
		Iterator it = fileItems.iterator();
		while(it.hasNext()){
			FileItem item = (FileItem)it.next();
			//忽略其他不是文件域的所有表单信息
			if(!item.isFormField()){
				name = item.getRealName();
				fileSize = item.getSize();
				if(name==null || "".equals(name) || fileSize==0){
					continue;
				}
			    fileExt = FileUtil.getFileExt(name);
			    tempName = DateUtil.getSimpleDate() + StringUtil.randomNum(8) + "." + fileExt;
			    uploadPath += tempName;
				//System.out.println(uploadPath);//保存
				item.write(uploadPath);
				//写数据库记录
				jw.executeUpdate("insert into " + com.bcxy.bbs.util.BBSConst.TABLE_FILEUPLOAD + "(name, filename, fileext, upuser, uptime, filesize, flag, downcount)" +
				                " values('"+tempName+"','"+name+"','"+fileExt+"','"+upUser+"','"+DateUtil.getLocalDate()+"',"+fileSize+",1,1)");
			}			
		}
	    errMsg = "上传文件成功";
	    out.println("<script language=\"javascript\">");
	    out.println("parent.document.frames['Dvbbs_Composition'].document.body.innerText+='[download="+tempName+","+fileExt+","+fileSize+"]"+name+"[/download]'");
	    out.println("</script>");
	}
}catch(FileUploadException se){
	se.printStackTrace();
	errMsg = "文件大小不能超过2M";
}catch(Exception e){
	e.printStackTrace();
	errMsg = "上传文件出错";
}  
%>
<SCRIPT language="JavaScript" type="text/javascript">
function upload(f)
{
    var filename = f.file.value.toLowerCase();
    var accept = false;
    accept |= (filename.indexOf('.zip')>-1);
    accept |= (filename.indexOf('.rar')>-1);
    accept |= (filename.indexOf('.doc')>-1);
    accept |= (filename.indexOf('.txt')>-1);
    if(!accept){
          alert("请选择允许上传文件:.zip,.rar,.doc,.txt!");
          f.file.focus();
          return false;
    }
    f.submit.disabled = true;
    return true;
}
</SCRIPT>
</HEAD>
<Link rel="stylesheet" type="text/css" href="forum.css">
<BODY style="background-color:transparent">
<FORM action="file_upload.jsp?upload=up"  enctype="multipart/form-data" method="post" name="mainform" onsubmit="return upload(this);">
 	本地文件:<input name="file" size=40 type="file" value="">&nbsp;<input type="submit" name="submit" value="确定">
 	&nbsp;&nbsp;<font color=red><%=errMsg%></font>
</FORM>
</BODY>
</HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -