- 浏览: 65312 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
zuo_huai:
赞一个!!!
java多线程编程 -
zuo_huai:
呵呵……,不客气
使用common-fileupload 和common-io实现文件的上传和批量上传 -
lg_asus:
呵呵,不错的东东。多谢
使用common-fileupload 和common-io实现文件的上传和批量上传
common-fileupload:可以实现文件的上传和批量上传 ,同时也可以实现表单中其他元素的上传
common-io:对io的操作
服务器端的代码如下:
public class ImageUploadServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request,response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean isFileUpload = ServletFileUpload.isMultipartContent(request);//检测是否存在文件上传的请求
if(isFileUpload){
// 处理磁盘文件工厂类
FileItemFactory factory = new DiskFileItemFactory();
// 文件上传的处理类
ServletFileUpload upload = new ServletFileUpload(factory);
//解析上传的文件
try {
List fileItems = upload.parseRequest(request);
for (Iterator iterator = fileItems.iterator(); iterator
.hasNext();) {
FileItem fileItem= (FileItem) iterator.next();
//判断上传的表单域是否为文件上传,false 表示文件上传<input type="file" />
//true 表示为非文件上传
if(fileItem.isFormField()){
//对非文件上传的处理
if("userName".equals(fileItem.getFieldName())){
}
}else {
String contentType = fileItem.getContentType()
.toLowerCase();// 比如:image/pjpg
//进行格式的判断
if (contentType.indexOf("jpg") != -1
|| contentType.indexOf("jpeg") != -1
|| contentType.indexOf("png") != -1
|| contentType.indexOf("gif") != -1 || contentType.indexOf("bmp") !=-1) {
//对文件上传的处理
String fileUploadPath=fileItem.getName();
// 上传之后文件的名字要唯一:采用当前上传的系统时间的毫秒数作为文件的名字
String time = System.currentTimeMillis() + "";// 当前系统时间
String postfix = fileUploadPath.substring(fileUploadPath.lastIndexOf("."));//获取文件的后缀名
String fileName = time+postfix;
String contextPath =this.getServletContext().getRealPath("imageTemp");//获取工程中的名为imageTemp的目录
String filePath = contextPath+File.separator+fileName;
File file = new File(filePath);//代表上传文件的目录
FileOutputStream out = new FileOutputStream(file);
InputStream in = fileItem.getInputStream();
IOUtils.copy(in,out);
IOUtils.closeQuietly(out);//关闭输出流
IOUtils.closeQuietly(in);//关闭输出流
}else {
System.out.println("文件格式错误");
}
}
}
} catch (FileUploadException e) {
System.out.println("文件上传异常");
}
}
}
}
发表评论
-
java7-(fork-join) 的使用
2016-06-29 14:17 0public class ForkJoinTest { ... -
tomcat无法启动的问题 -Xss太小
2016-06-23 16:40 2961线上的tomcat 无法启 ... -
codis实现高可用的服务端架构
2016-01-11 11:03 0codis实现高可用的服务端架构 安装codis 用lv ... -
netty入门
2014-03-14 18:14 18751 阻塞IO ,阻塞异步IO,非阻塞异步IO 首先学习n ... -
SVN权限管理
2013-09-14 10:37 01.安装subversion 2.安装TortoiseS ... -
HIVE知识点
2013-08-21 20:35 0安装hive: 1.创建目录 ... -
HQL
2013-08-21 11:07 0select site, fr, count(sid) as ... -
Hbase微博系统
2013-05-02 11:38 0HBase是一个分布式的、面向列的开源数据库 HB ... -
由Word Count 得到的HDFS、map reducde
2013-05-02 10:57 0HDFS 设计目标: 大文件 一次写入,多次读取 普 ... -
新手在Centos 6 下mysql5.5.30下源码安装
2013-03-30 09:55 13561) 下载CentOS6,mysql5.5.30 源码包, ... -
Protocol Buffers的应用与分析将数据存储在Hbase中
2013-02-04 15:24 0ddd -
hbase整合hadoop,并在Window环境下连接hbase
2012-11-26 22:33 2960环境:redhat9 ,hadoop-1.0.4,hbase- ... -
hadoop中的问题总结
2012-11-18 22:39 1710在做hadoop例子中,Win7远程连接linux服务器上的h ... -
jconsole在windows和linux版本下的使用
2013-04-02 17:10 4164在WINDWO7 平台下使用jconsole: jcons ... -
JDK自带VM分析工具jps,jstat,jmap,jconsole
2012-10-22 22:03 0一、概述 Sun 的JDK中的几个工具,非 ... -
精通java正则表达式
2012-10-16 22:41 2247精通java正则表达式 1.正则表达式的作用 ... -
java实现文件的按照每次读取固定行数读取一个 文件 ,计算文件总行数和通过LINUX 命令读取固定行数文件内容,计算文件总行数
2012-06-27 22:50 46301 ) java实现文件的按照每次读取固定行数读取一个文件 ... -
[转载]VMWARE 虚拟机连接主机,或被其他网内的机器访问
2012-04-12 12:24 2567原文:http://blog.sina.com.cn/s/bl ... -
JVM内存设置(转)
2012-02-07 09:23 1963对于jvm的设置我一直知道的很少,有时候遇到outOfM ... -
利用Java和Java IDL创建CORBA应用
2012-01-07 22:44 2929CORBA基本介绍 CORBA ...
相关推荐
总的来说,`commons-fileupload-1.3.3.jar`和`commons-io-2.6.jar`是Java开发中不可或缺的工具,它们大大简化了文件上传的实现,同时也提供了良好的错误处理和资源管理机制,使得文件上传操作变得更加可靠和高效。...
本教程将深入讲解如何使用Java Servlet、Apache Commons IO库(版本2.4)以及Apache Commons FileUpload库(版本1.3)来实现这一功能。 一、Apache Commons IO与FileUpload库介绍 Apache Commons IO是一个Java库,...
Apache Commons FileUpload与Apache Commons IO是Java开发中处理文件上传的两个重要库,它们在Web应用中被广泛使用。这两个库分别提供了不同的功能,但在处理文件上传时常常一起使用。 `commons-fileupload-1.2.1....
在Java开发中,上传文件是一项常见的任务,Apache Commons FileUpload库正是为此而设计的。这个"最全的common-FileUpload.jar包"包含了处理HTTP请求中的多部分数据,特别是文件上传的功能。它使得开发者能够方便地从...
"common-fileupload"和"common-io"是Apache Commons项目中的两个重要组件,它们为处理文件上传和输入/输出提供了强大的支持。接下来,我们将详细讨论这两个库的功能、使用方法及其在JSP应用中的重要性。 Apache ...
在Java开发中,`common...总之,`common-io`和`common-fileupload`是Java开发中的强大工具,它们简化了常见的I/O操作和文件上传处理,提高了开发效率。了解并熟练运用这些库,能帮助开发者更好地应对实际项目中的挑战。
在与FileUpload库配合使用时,IO库可以方便地进行文件的读写和临时存储,确保文件上传过程的稳定性和安全性。 这两个库的协同工作流程大致如下: 1. **接收请求**:服务器端接收到带有文件的HTTP请求,请求内容...
本篇文章将详细讲解如何使用`Commons-FileUpload`进行文件上传,并读取上传文件的内容。 首先,了解`Commons-FileUpload`的工作原理。它解析HTTP请求,将多部分的数据分割成单独的部分,这些部分可以是文本或文件。...
commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar jar 文件。 commons-fileupload-1.2.1.jar和commons-io-1.3.2.jar 案例上传: http://hi.baidu.com/lichao77821/blog commons-fileupload-1.2.1.jar和commons-...
`commons-fileupload-1.3.3.jar` 和 `commons-io-2.5.jar` 是Apache Commons项目中的两个重要库,它们提供了强大的文件上传功能,使得开发者可以轻松地处理用户通过表单提交的文件。 Apache Commons FileUpload是...
描述中提及的"commons-io-2.2"是Apache Commons IO库的2.2版本,这是一个非常实用的Java I/O工具集,包含了大量与输入/输出相关的实用类,如文件操作、流操作、转换和比较等,它是FileUpload库的一个依赖,提供了...
该组件简单易用,可实现一次上传一个或多个文件,并可限制文件大小。 -下载后解压zip包,将commons-fileupload-1.1.1.jar,和commons-io-1.2.jar(这里我们用的是更新的版本,但是用法是一样的)复制到tomcat的webapps...
例如,你可以用Commons FileUpload来处理文件上传请求,然后使用Commons IO来操作上传后的文件,最后通过Commons BeanUtils来处理和验证上传文件的相关属性信息。这些库的结合使用,大大提升了开发效率,减少了代码...
在`MyProject`这个压缩包中,可能包含了使用`common-fileupload`进行文件上传和下载的示例代码,你可以解压后查看具体实现。通过阅读和理解代码,可以更好地掌握文件上传下载的实践应用。在实际开发中,结合源码和...
下面,我们将深入探讨如何使用`Commons FileUpload`库在Java中实现文件上传功能,并基于提供的"文件上传demo"进行分析。 首先,我们需要添加`Commons FileUpload`的依赖到我们的项目中。如果你使用的是Maven,可以...
通过使用Common-fileupload组件,开发者可以轻松地在JSP环境中实现文件上传功能。该组件不仅提供了基本的文件上传功能,还支持高级特性如多文件上传、文件大小限制等。这对于提高Web应用程序的功能性和用户体验非常...
标题中的"上传架包commmon-fileupload common-io"指的是两个常用的Java库,它们分别是Apache Commons FileUpload和Apache Commons IO。这两个库在Java开发中扮演着重要角色,特别是处理文件上传和I/O操作。 Apache ...
总的来说,Apache Commons FileUpload 和 Commons IO 是处理 Java Web 应用中文件上传和管理的重要工具,它们简化了原本复杂的多部分数据解析和文件操作,提高了开发效率和代码的可读性。在实际应用中,应根据需求...
浏览器在上传的过程中是将文件以流的形式提交到服务器端的,如果直接使用Servlet获取上传文件的输入流然后再解析里面的请求参数是比较麻烦,所以一般选择采用apache的开源工具common-fileupload这个文件上传组件。
这个例子展示了如何使用Apache Commons FileUpload和Commons IO处理文件上传。这两个库大大简化了文件上传的实现,使得开发者可以专注于业务逻辑,而不是底层的文件操作细节。同时,它们还提供了许多高级特性,如...