📄 fileuploadservlet.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 + -