commons.fileupload 文件上传
2024-08-30 18:34:00
编辑jsp页面获取文件
<html>
<head>
<base href="<%=basePath%>"> <title>My JSP 'upload.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>
<form action="upload1" method="post" enctype="Multipart/form-data">
file:<input type="file" name="upload">
<input type="submit" value="上传">
</form>
</body>
</html>
servlet上传:
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import java.util.UUID; import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.apache.commons.fileupload.FileItem;
import org.apache.commons.fileupload.FileUploadException;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
@WebServlet("/upload1") public class Upload1 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
} public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
/**
* 1、创建文件项工厂
*/ DiskFileItemFactory factory = new DiskFileItemFactory();
/**
* 2、创建解析请求 数据的ServletFileUpload对象
*/
ServletFileUpload upload = new ServletFileUpload(factory);
try {
/**
* 3、解析请求数据 返回FileItem 列表
*/
List<FileItem> list = upload.parseRequest(request);
/**
* 4、解析获取每一个FileItem 对象
*/ FileItem item = list.get(0); //验证当前FileItem 是否是表单字段 如果fales 则取到的是文件
item.isFormField();
/**
* 5、文件名及路径处理
*/
//处理文件
String filename= item.getName();
//截取文件扩展名
String extName = filename.substring(filename.lastIndexOf("."));
//生成UUID作为文件名
String newName= UUID.randomUUID().toString();
//获取服务器上自定义的存放文件的目录
String rootPath = request.getSession().getServletContext().getRealPath("/upload");
//生成完整的文件路径
String newPath = rootPath+"/"+newName+extName;
System.out.println(newPath);
/**
* 6、文件写入
*/
item.write(new File(newPath)); } catch (FileUploadException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
} }
最新文章
- HTML5中使用图片传递密文
- jQuery中方法html()与text()的不同
- IE6/IE7/IE8兼容H5标签
- maven的一些依赖
- .net连接access操作类
- SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束
- skip-name-resolv
- a标签中的label在IE下触发不了a标签的href链接(label标签——解析)
- Jordan Lecture Note-3: 梯度投影法
- 【转】解读Qt 事件处理机制(上篇)
- php前端控制器设计1
- poj1797 Heavy Transportation Dijkstra算法的简单应用
- 使用juggle简化网络编程
- 字符串拼接data-id时注意事项
- JavaScript基础2——关于变量
- GIT入门笔记(16)- 分支创建和管理
- 利用nginx解决cookie跨域
- Netty中的EventLoop和线程模型
- 优于 swagger 的 java markdown 文档自动生成框架-01-入门使用
- button的后台点击事件