- 浏览: 1236040 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (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 2034今天遇到下面的代码 ... -
StringUtils.repeat函数赏析与疑问
2014-09-01 18:43 6090今天实现一个字符串拼接的一个需求,比如: ... -
java服务的培训ppt
2014-08-30 23:01 1582给应届生培训java web 服 ... -
给新人制定的java学习计划
2014-08-30 22:52 2499花了一点时间,给团队应届生和实习生制定 ... -
获取手机的mac地址
2014-04-10 22:20 3405与IP不同,MAC是指连接WIFI使用的无线网卡的物理地址, ... -
解决errorpage里面取不到Authentication的问题
2013-01-20 23:56 2453本人原创,发现一些网站无道德的抓取 ... -
SimpleDateFormat使用的时候的注意点
2012-12-06 20:59 2056今天在帮助同事查找一个项目bug的时候发现一个很奇怪 ... -
java和javascript的正则表达式有点不同
2012-11-06 18:54 1448今天在项目中遇 ... -
velocity 1.6.4的一个bug
2012-09-10 17:24 2179$.ajax()在Velocity中会冲突, 总之 ... -
一种多数据源分页算法
2012-09-10 17:13 7551以前开发一个系统,需要去多个系统去取数据,简单期间,比 ... -
使用stringBuffer和StringBuilder拼串要注意的问题
2012-07-30 17:30 8098今天在和同事排除一个问题的时候发现,从 ... -
java获取当月的工作日
2012-05-10 12:07 6134在这个记录一下,记录java获取某个月的工作日的代码,方便以 ... -
webservice引用传参
2012-04-19 19:38 1449http://www.blogjava.net/xylz/ar ... -
java获取当天的开始时间,当前周的开始时间
2012-04-16 17:31 19595在程序里面要获取当前的开始时间和结束时间,以及当前天 ... -
edtFTPj源码学习
2012-04-11 16:25 1256下面是edtFTPj的源码学习,下面的类图都是我自己亲手花的, ... -
ftp协议研究
2012-03-12 17:34 1272ACTIVE FTP OPERATION 1、客户端使用源 ... -
西安交通大学的错误日志
2011-12-14 13:30 1010西安交大的网站报错了,记录下出错日志,改天研究一下。 HT ... -
tomcat的favicon.ico的用法
2011-12-01 20:00 22371. web.xml文件添加下面的mime-mapping ... -
htmlunit模拟sso登陆
2011-07-27 14:45 6940import java.io.IOException; ...
相关推荐
Struts2 文件上传是Web开发中的一个重要组成部分,它允许用户从客户端向服务器传输文件,例如图片、文档等。本文将详细讲解Struts2框架中实现文件上传的两种常见方法,并探讨相关的注意事项和技术要点。 首先,我们...
以下是对Struts2文件上传的详细总结: 1. **表单设计**: - 在HTML表单中,需添加`<input type="file" />`字段,例如`<input type="file" name="myUpload" />`。`name`属性对应Action类中的属性。 2. **Action类*...
### 关于文件上传与下载的实现方法总结 在软件开发特别是Web应用开发中,文件的上传与下载是非常常见的功能需求之一。本文将详细介绍文件上传与下载的多种实现方法,并特别聚焦于通过Java语言来实现这些功能的具体...
总结一下,文件上传在Java中可以通过本地文件系统操作或云存储服务如阿里云OSS实现。对于大文件,OSS的Multipart Upload是高效且可靠的解决方案。了解这些知识点将有助于你构建更强大的文件管理系统。在实际开发中,...
总结一下,Apache文件上传与下载涉及的主要知识点包括: 1. Servlet的配置与映射。 2. 文件上传的处理,通常使用Commons FileUpload库。 3. 文件列表的生成,可能涉及到文件系统操作。 4. 文件下载的实现,通过设置...
当文件上传请求到达服务器时,这些方法会接收文件流,保存到服务器的磁盘上,或者将其存储到数据库或云存储服务中。处理上传的Java代码需要考虑到文件大小限制、错误处理、文件命名规则以及安全性等方面的问题。 ...
总结,Gin框架为Go语言开发Web应用提供了一种高效且易于使用的解决方案,包括文件上传功能。通过Gin的`FormFile`方法,我们可以轻松地接收和处理上传的文件。同时,结合curl命令,我们可以方便地对上传接口进行测试...
文件上传和下载测试点总结 文件上传和下载是许多应用程序和网站的基本功能之一,在进行测试时需要考虑多个方面的测试点,以下是文件上传和下载的常见测试点: 下载测试点 1. 右键另存为是否可以正确下载文件,...
总结,Android的文件上传涉及文件选择、读取、压缩、转换为流,以及利用Multipart请求将数据发送到服务器。同时,配合JSON数据可以传递更多的业务信息。理解并熟练运用这些技术,能够帮助开发者实现高效且稳定的文件...
### C#多文件上传知识点详解 #### 一、FileUpload控件概述 在Web开发中,尤其是使用ASP.NET进行Web应用程序开发时,`FileUpload`控件是一个非常实用且强大的工具,它允许用户从客户端上传文件到服务器。该控件不仅...
下面是JSP实现文件上传与下载的知识点总结: 一、JSP文件上传的基本步骤 1. 在HTML表单中添加文件上传控件,使用input type="file"控件。 2. 在FORM标签中添加ENCTYPE="multipart/form-data"属性,以便将文件上传...
### 文件上传及多文件上传案例详解 在现代Web应用程序中,文件上传是一项常见的需求,尤其在涉及用户交互的场景中更为普遍。本文将基于提供的标题“文件上传,多文件上传案例”及其描述“多文件上传功能,使用C#...
在本实例中,SpringMVC作为前端控制器,接收用户的文件上传请求,处理业务逻辑,并将结果返回给用户。开发者可以定义各种控制器方法来处理特定的HTTP请求,比如一个用于处理文件上传的`@RequestMapping`注解的方法。...
在PHP中处理大文件上传是一项常见的任务,尤其在处理...总结,处理PHP中的大文件上传需要考虑多个方面,包括配置限制、文件验证、错误处理和可能的用户体验优化。理解这些要点,就能构建出安全、可靠的文件上传系统。
### C#实现文件上传的关键知识点 #### 一、概述 在C#中实现文件上传是一项常见但非常重要的功能,尤其对于Web应用来说更是如此。本文将深入探讨如何使用C#来实现文件上传,并重点关注以下几个方面:如何利用C#进行...
《细解FineCMS前台文件上传漏洞及其源码分析》 FineCMS是一款常见的开源内容管理系统,以其易用性和灵活性深受开发者喜爱。然而,如同其他软件一样,FineCMS也存在潜在的安全问题,其中最为突出的就是前台文件上传...
总结,Java SpringBoot实现文件上传主要涉及配置文件设置、创建Controller处理请求、使用`MultipartFile`接口来操作上传文件,并根据实际需求进行文件验证、存储和管理。通过这些步骤,你可以构建出稳定、安全的文件...
ExtJS 中实现文件上传功能是非常方便的,但对于新手来说,控制文件上传类型是一个难题。例如,我们只想让用户上传特定的文件类型,例如txt文件,那么如何实现当用户上传非txt文件时,给出错误提示呢?这篇文章将详细...
总结起来,使用DWR进行文件上传涉及以下步骤: 1. 配置DWR允许文件上传相关的Java方法被JavaScript调用。 2. 在HTML页面中创建文件选择和上传触发元素。 3. 使用DWR JavaScript API调用服务器端的文件上传方法。 4. ...