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

📄 fileuploadservlet.java

📁 一个jsp的oa系统,里面有很多亮点学习!
💻 JAVA
字号:
package com.oa.lp.servlet;

import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.jspsmart.upload.SmartUpload;
import com.oa.lp.dao.FileDAO;
import com.oa.lp.dao.FolderDAO;
import com.oa.lp.database.DataBase;
import com.oa.lp.model.Employee;
import com.oa.lp.model.Folder;

public class FileUploadServlet extends TopServlet {

	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {
		//获得EMPID
		Employee emp = (Employee)request.getSession().getAttribute("emp");
		int empId = emp.getEmpId();

		Connection conn = null;
		try {
			conn = DataBase.getConnection();
			FileDAO fileDao = new FileDAO();
			fileDao.setConn(conn);
			
			// 新建一个SmartUpload对象
			SmartUpload upload = new SmartUpload();
			// 上传初始化
			upload.initialize(this.getServletConfig(), request, response);
			// 设定上传限制
			// 1.限制每个上传文件的最大长度。
			upload.setMaxFileSize(1000000);
			// 2.限制总上传数据的长度。
			upload.setTotalMaxFileSize(10000000);
			// 3.设定允许上传的文件(通过扩展名限制),仅允许gif.jpg文件。
			//upload.setAllowedFilesList("gif,jpg,bmp");
			// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
			// jsp,htm,html扩展名的文件和没有扩展名的文件。
			upload.setDeniedFilesList("exe,bat,jsp,html");
			//上传文件
			upload.upload();
			// 利用Request对象获取参数之值
			String folderIdStr = upload.getRequest().getParameter("folderId");
			int folderId=0;
			if(folderIdStr!=null&&folderIdStr.length()>0){
				folderId = Integer.parseInt(folderIdStr);
			}
			//逐一提取上传文件信息,同时可保存文件。
			for (int i = 0; i < upload.getFiles().getCount(); i++) {
				com.jspsmart.upload.SmartFile file = upload.getFiles().getFile(
						i);
				// 若文件不存在则继续
				if (file.isMissing())
					continue;
				String fileName = file.getFileName();
				int fileSize = file.getSize();
				
				// 生成文件名
				String filePath = "/upload/folder/" + System.currentTimeMillis()+"."+file.getFileExt();
				file.saveAs(filePath);
				//在数据库中保存文件
				com.oa.lp.model.File myFile = new com.oa.lp.model.File();
				myFile.setFileName(fileName);
				myFile.setFileSize(fileSize);
				myFile.setFilePath(filePath);
				myFile.setFolderId(folderId);
				myFile.setFileState(1);
				fileDao.addFile(myFile);
			}
			//跳转到上传目录下
			this.sendRedirect(request, response,"/FolderServlet?method=addLoad");
			// 事务提交
			DataBase.commit();

		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			if (conn != null) {
				// 关闭连接
				DataBase.releaseConnection(conn);
			}
		}

	}

}

⌨️ 快捷键说明

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