servlet3.0 getPart()与getParts()获取上传文件
来源:互联网 发布:opencv2.4.4 sift算法 编辑:程序博客网 时间:2024/06/04 18:10
需求: servlet3.0以上,就是tomcat7.0以上,web.xml->web-app->version 3.0以上, 不需要引入其它的jar包
Servlet类需要添加注释@MultipartConfig, 必要, 否则request.getPart()会为null
@MultipartConfigpublic class FileServlet extends HttpServlet { public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmssSSS"); //文件存放目录 String mypath = this.getClass().getClassLoader().getResource("/../../").getPath() + "upload"; File file = new File(mypath ); if(!file.exists()){ file.mkdir(); } String filename = format.format(new Date()); // multipart/form-data if (ServletFileUpload.isMultipartContent(request)) { Part part = request.getPart("ff"); if(part == null){ return; } String headerfNValue = part.getHeader("content-disposition"); if("".equals(headerfNValue.trim()){ return ; } //headerfNValue = [filename="xxxx.xxx"] String valueKey = "filename=\""; int s = headerfNValue.indexOf(valueKey ); if(s < 0){ return; } String originalfilename = headerfNValue.substring(s + valueKey.length(), headerfNValue.length()-1);; String suffix = originalfilename.substring(originalfilename.lastIndexOf(".")); if(".jpg|.jpeg|.jpe|.jfif|.png|.gif|.bmp|.dib|.tif|.tiff".indexOf(suffix) < 0){ return; } filename += suffix; InputStream input = part.getInputStream(); file = new File(mypath + filename); if(!file.exists()){ file.createNewFile(); } FileOutputStream fos = new FileOutputStream(file); int size = 0; byte[] buffer = new byte[1024]; while ((size = input.read(buffer)) != -1) { fos.write(buffer, 0, size); } fos.close(); input.close(); } }}
getParts() 就是多个Part ,for出来就可以
关于 @MultipartConfig 注释:
@MultipartConfig(location = "/upload", maxFileSize = 1024 * 1024 * 50)
设置了location 就是文件的保存路径 , 确认Part的filename不为空后,可以直接写入, 可以省去后面的文件流操作
......
filename += suffix;
part.write(filename);
前端页面:
<form action="" method ="post" enctype="multipart/form-data">
<input type="file" name="ff" />
<input type="submit" value="go" />
</form>
1 0
- servlet3.0 getPart()与getParts()获取上传文件
- 在Servlet3.0中使用request.getParts()获取上传文件
- Java Web 使用getPart()、getParts()上传文件
- servlet3.0上传文件
- servlet3.0文件上传
- Servlet3.0文件上传
- servlet3.0 文件上传
- Servlet3.0的文件上传
- Servlet3.0现实文件上传
- servlet3.0多文件上传
- Servlet3.0 上传文件实例
- 【Demo】Servlet3.0 上传文件
- servlet3.0处理文件上传
- 使用Servlet3.0上传文件
- servlet3.0 part上传文件
- springmvc与Servlet3.0不依赖common包实现文件上传
- Servlet3.0实现上传文件到服务器端
- [Servlet3.0新特性]Serlvet文件上传
- Swift3 基础语法
- Python 基础 二
- POJ 2531(搜索剪枝)
- git命令 branch 切换远程分支Github
- intellij IDEA 启动tomcat时显示端口被占用
- servlet3.0 getPart()与getParts()获取上传文件
- Redis 主从复制
- CSS 设置字体大小用法介绍
- Java常考编程题(基础)--不断更新
- Web项目中使用Spring 3.x + Quartz 2.x实现作业调度详解
- 让eclipse变得快点,取消validation
- ubantu下Eclipse输入中文vim显示乱码,vim中输入中文eclipse显示乱码
- Type Conversion in Expression Evaluation
- app与app间打开并传递参数