博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Fileupload-1.2.1使用简单样例
阅读量:5983 次
发布时间:2019-06-20

本文共 2199 字,大约阅读时间需要 7 分钟。

在測试本例至少须要在web程序的WEB-INF/lib下包括commons-fileupload- 1.2.1和commons-io-1.3.2两个类库。

 

fileupload.jsp

<%@ page contentType="text/html; charset=gb2312" %> <%@ page import="java.io.*" %> <%@ page import="java.util.*" %> <%@ page import="org.apache.commons.io.*" %> <%@ page import="org.apache.commons.fileupload.*" %> <%@ page import="org.apache.commons.fileupload.disk.*" %> <%@ page import="org.apache.commons.fileupload.servlet.*" %> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>文件传输样例</title> </head> <body> <% boolean isMultipart = ServletFileUpload.isMultipartContent(request);//检查表单中是否包括文件 if(isMultipart){ FileItemFactory factory = new DiskFileItemFactory(); //factory.setSizeThreshold(yourMaxMemorySize); 此处可设置使用的内存最大值 //factory.setRepository(yourTempDirectory); 文件暂时文件夹 ServletFileUpload upload = new ServletFileUpload(factory); //upload.setSizeMax(yourMaxRequestSize);同意的最大文件尺寸 List items = upload.parseRequest(request); for(int i=0;i<items.size();i++){ FileItem fi = (FileItem)items.get(i); if(fi.isFormField()){//假设是表单字段 %> <%=fi.getFieldName()%>:<%=fi.getString("GB2312")%><BR> <% }else{//假设是文件 DiskFileItem dfi = (DiskFileItem)fi; if(!dfi.getName().trim().equals("")){//getName()返回文件名,假设是空字符串,说明没有选择文件。 %> 文件被上传到服务上的实际位置:<%=new File(application.getRealPath("/file")+System.getProperty("file.separator")+ FilenameUtils.getName(dfi.getName())).getAbsolutePath()%><br> <% dfi.write(new File(application.getRealPath("/file")+System.getProperty("file.separator")+ FilenameUtils.getName(dfi.getName()))); } } } } %> </body> </html>

  Index.html

<HTML> <HEAD> <META HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; charset=gb2312"> <TITLE>commons-fileupload-1.2.1实现文件上传</TITLE> </HEAD> <BODY> <P>commons-fileupload-1.2.1实现文件上传</P> <FORM NAME="fileupload" ACTION="fileupload.jsp" method="POST" ENCTYPE="multipart/form-data"> <!--必须指定表单的加密类型为 multipart/form-data --> <P>名称:<INPUT TYPE=TEXT NAME="name" SIZE=12 value="小明"></P> <P>性别:<INPUT TYPE=TEXT NAME="sex" SIZE=12 value="男"></P> <P>年龄:<INPUT TYPE=TEXT NAME="age" SIZE=12 value="28"></P> <P>文件:<INPUT TYPE=FILE NAME="file" SIZE=12></P> <P><INPUT TYPE=SUBMIT NAME="submit" VALUE="确定"></P> </FORM> </BODY> </HTML>

 

 

 

转载地址:http://gleox.baihongyu.com/

你可能感兴趣的文章
英国政府的开源开发
查看>>
Spark Summit EU重头戏:TensorFlow、结构化的流和GPU硬件加速
查看>>
安全半月谈:Mozilla遭入侵、GitHub被DDoS
查看>>
DevOps采用现状情况报告
查看>>
Eclipse发布MicroProfile 1.4和2.0
查看>>
Mozilla工程师观点:开源不赚钱,因为它不是为赚钱而设计的
查看>>
经纬中国熊飞:底层技术创业的春天来了
查看>>
亚马逊发布 Corretto 8 GA 版本
查看>>
云监控状态调查:公有云和混合云的监控成熟度落后于传统数据中心
查看>>
半数以上国产手游曾使用他开源的引擎:Cocos和王哲的故事 | 二叉树视频
查看>>
物联网技术周报第 145 期: ESP8266 和 IFTTT 自制 WiFi 智能秤
查看>>
KPN iTV的敏捷转型之旅
查看>>
IBM和Red Hat会对Java模块系统(Jigsaw)投反对票
查看>>
35岁的程序员是“都挺好”还是“都挺惨”?\n
查看>>
红帽收购混合云管理提供商NooBaa,混合云爆发节点临近!
查看>>
i4o开源项目增强LINQ索引功能
查看>>
腾讯研发总监揭秘腾讯敏捷研发引擎之谜(上)
查看>>
华为敏捷/DevOps实践:如何开好迭代计划会议
查看>>
Oracle计划新的移动OpenJDK项目
查看>>
持续交付:巨大的益处也伴随着巨大的挑战
查看>>