- 浏览: 1227355 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (242)
- java (58)
- netty (14)
- javascript (21)
- commons (13)
- 读书笔记 (5)
- java测试 (6)
- database (5)
- struts2 (8)
- hibernate (6)
- english (27)
- spring (10)
- 生活 (4)
- 多线程 (4)
- 正则表达式 (1)
- 杂项 (1)
- maven (4)
- 数据库 (10)
- 学习笔记 (1)
- mongodb (1)
- 百度bcs (4)
- 云推送javasdk (2)
- webservice (3)
- IllegalAnnotationException: Two classes have the same XML type name (0)
- drools (3)
- freemarker (3)
- tomcat (1)
- html5 (2)
- mq (11)
- fastjson (3)
- 小算法 (2)
最新评论
-
longxitian:
https://www.cnblogs.com/jeffen/ ...
万恶的Mybatis的EnumTypeHandler -
asialee:
ddnzero 写道博主请问FileUtils这个类是哪个包的 ...
使用mockftpserver进行ftp测试 -
ddnzero:
博主请问FileUtils这个类是哪个包的?还是自己的呢?能放 ...
使用mockftpserver进行ftp测试 -
yizishou:
为什么会intMap.get("bbb") ...
浅谈System.identityHashCode -
liguanqun811:
感觉LogManager打开了所有的LogSegment(文件 ...
jafka学习之LogManager
这两天想分析一下文件上传的源码,先写一下FileUpload的最基本的使用方法。 主要是给自己做一个总结,高手就不要看了,过两天我会分析FileUpload的源码。
import java.io.IOException; import java.io.PrintWriter; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; 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; /** * Servlet implementation class UploadServlet */ public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; public UploadServlet() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { process(request, response); } @SuppressWarnings("unchecked") protected void process(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8;"); boolean isMutilpart = ServletFileUpload.isMultipartContent(request); if (!isMutilpart) { throw new IllegalArgumentException("只能为: multipart/form-data 类型"); } DiskFileItemFactory factory = new DiskFileItemFactory(); ServletFileUpload fileUpload = new ServletFileUpload(factory); fileUpload.setFileSizeMax(1024 * 1024 * 200); fileUpload.setHeaderEncoding("UTF-8"); List<FileItem> fileItems = null; try { fileItems = fileUpload.parseRequest(request); } catch (FileUploadException e) { e.printStackTrace(); } StringBuffer buffer = new StringBuffer(); Iterator<FileItem> iter = fileItems.iterator(); while (iter.hasNext()) { FileItem fileItem = iter.next(); if (fileItem.isFormField()) { processFormField(fileItem, buffer); } else { processFileField(fileItem, buffer); } } PrintWriter writer = response.getWriter(); writer.write(buffer.toString()); writer.flush(); writer.close(); } private void processFormField(FileItem fileItem, StringBuffer buffer) { String name = fileItem.getFieldName(); String value = fileItem.getString(); String output = "Name:" + name + " Value: " + value; buffer.append(output + "</br>"); System.out.println(output); } private void processFileField(FileItem fileItem, StringBuffer buffer) { String fieldName = fileItem.getFieldName(); String fileName = fileItem.getName(); String contentType = fileItem.getContentType(); long size = fileItem.getSize(); boolean isInMemory = fileItem.isInMemory(); String output = "Name:" + fileName + " Fielname: " + fieldName + " ContentType: " + contentType + " size " + size + " InMemory: " + isInMemory + ""; buffer.append(output + "</br>"); System.out.println(output); } }
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>fileupload</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <servlet> <description></description> <display-name>UploadServlet</display-name> <servlet-name>UploadServlet</servlet-name> <servlet-class>UploadServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>UploadServlet</servlet-name> <url-pattern>/servlet/uploadServlet</url-pattern> </servlet-mapping> </web-app>
发表评论
-
maven的system scope的依赖在打包的时候不出现在lib里面的解决
2017-09-20 11:21 0上周遇到一个问题,一个sytem scope的依赖,在导出的 ... -
JAVA静态代码块
2015-04-07 16:26 2009今天遇到下面的代码 ... -
StringUtils.repeat函数赏析与疑问
2014-09-01 18:43 6037今天实现一个字符串拼接的一个需求,比如: ... -
java服务的培训ppt
2014-08-30 23:01 1548给应届生培训java web 服 ... -
给新人制定的java学习计划
2014-08-30 22:52 2449花了一点时间,给团队应届生和实习生制定 ... -
获取手机的mac地址
2014-04-10 22:20 3374与IP不同,MAC是指连接WIFI使用的无线网卡的物理地址, ... -
解决errorpage里面取不到Authentication的问题
2013-01-20 23:56 2413本人原创,发现一些网站无道德的抓取 ... -
SimpleDateFormat使用的时候的注意点
2012-12-06 20:59 2032今天在帮助同事查找一个项目bug的时候发现一个很奇怪 ... -
java和javascript的正则表达式有点不同
2012-11-06 18:54 1411今天在项目中遇 ... -
velocity 1.6.4的一个bug
2012-09-10 17:24 2152$.ajax()在Velocity中会冲突, 总之 ... -
一种多数据源分页算法
2012-09-10 17:13 7511以前开发一个系统,需要去多个系统去取数据,简单期间,比 ... -
使用stringBuffer和StringBuilder拼串要注意的问题
2012-07-30 17:30 8066今天在和同事排除一个问题的时候发现,从 ... -
java获取当月的工作日
2012-05-10 12:07 6071在这个记录一下,记录java获取某个月的工作日的代码,方便以 ... -
webservice引用传参
2012-04-19 19:38 1414http://www.blogjava.net/xylz/ar ... -
java获取当天的开始时间,当前周的开始时间
2012-04-16 17:31 19551在程序里面要获取当前的开始时间和结束时间,以及当前天 ... -
edtFTPj源码学习
2012-04-11 16:25 1212下面是edtFTPj的源码学习,下面的类图都是我自己亲手花的, ... -
ftp协议研究
2012-03-12 17:34 1231ACTIVE FTP OPERATION 1、客户端使用源 ... -
西安交通大学的错误日志
2011-12-14 13:30 983西安交大的网站报错了,记录下出错日志,改天研究一下。 HT ... -
tomcat的favicon.ico的用法
2011-12-01 20:00 22021. web.xml文件添加下面的mime-mapping ... -
htmlunit模拟sso登陆
2011-07-27 14:45 6917import java.io.IOException; ...
相关推荐
struts2文件上传总结.docx
在做web 开发的是很多的时候都会用到文件上传的技术,所以在这里总结了一下文件上传的两种方法,希望可以帮到大家!
上传文件的总结上传文件的总结上传文件的总结上传文件的总结
个人使用common-fileupload1.2.2和io-1.3.2时总结
下面是JSP实现文件上传与下载的知识点总结: 一、JSP文件上传的基本步骤 1. 在HTML表单中添加文件上传控件,使用input type="file"控件。 2. 在FORM标签中添加ENCTYPE="multipart/form-data"属性,以便将文件上传...
关于文件上传与下载的各种实现方法大概介绍。 FTP方式实现文件上传与下载的实例代码
Layui实现文件上传进度条 Layui是一个优秀的前端框架,它提供了很多实用的UI组件和功能之一就是进度条组件。今天我们将探讨如何使用Layui实现文件上传进度条。 进度条组件 Layui的进度条组件是一个轻量级的UI组件...
网上主要有两种可用的参考组件, ... 今天介绍第二种方案中的文件上传,文件下载功能则可细...第二种方案中文件上传,其实就是将request对象中的inputStream解析出来,并获取文件的信息流,将文件信息流存储到服务器上。
这里总结了多种实现上传文件的方案。 方案一:使用 WebClient 上传文件 WebClient 是 .NET Framework 中的一个类,提供了一种简单的方式来上传文件到服务器。下面是一个使用 WebClient 上传文件的示例代码: ```...
VB代码利用FTP实现文件上传于下载代码和总结
本实例依托于springmvc框架,采用maven作为jar包管理仓库,通过引用hadoop相关jar包,编写了hdfs操作工具类,能够在web端实现文件远程上传至hdfs。
c# 文件上传,下载,压缩rar,zip,解压rar,zip,文件流读取,excel文件读取上传等操作总结
文件上传验证绕过技术总结,可以学习一下啊,比较全面了
Hadoop 文件上传失败原因分析及解决方法 本文主要讨论了在 Java Web 程序中上传文件到 Hadoop HDFS 文件系统中失败的原因分析及解决方法。通过对问题的分析和解决,可以总结出以下知识点: 1. Hadoop 文件上传失败...
borlandc++bulder的文件操作
多文件上传例子,彻底解决中文乱码问题了。总结中文乱码问题如下: 1、所有页面都用UTF-8。 2、写过滤器,设置request.setCharacterEncoding("UTF-8")。 3、javascript脚本里用encodeURI(str)。 4、适当的时候,在...
总结了文件上传漏洞的相关知识
WEB_文件的上传与下载思维导图总结(xmind格式的)及所用的所有包
里面有两个压缩有一个docx文件,一个txt文件,两个压缩包正是现在最流行使用的java文件上传插件commons-fileupload1.2.2和commons-io.1.3.2,和我个人总结的使用方法。相信看完我上传的文件你会懂的使用这两个上传...
将客户端文件上传到服务器端,再将服务器端的文件(临时文件)移动到指定目录即可。 1.2 客户端配置 所需:表单页面(选择上传文件); 具体而言:发送方式为POST,添加enctype=”multipart/form-data”属性,两者...