附件上传功能
******************************************************************************************************
******************************************************************************************************
表单元素中的 enctype 属性规定了传递给服务器的表数据集编码的内容类型。enctype 属性的默认值是
“application/x-www-form-urlencoded”,但当向服务器传送大量文本、包含非ASCII字符或二进制数的数据时,这个默认类型就不能胜
任hq了。这时,文件上载提交表单时应使用“multipart/form-data”内容类型。
FORM表单
<form name="hiddenFrm" method="POST" action="uploadTechnicianDo.jsp" enctype="multipart/form-data">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td height="40" background="images/bg04e.gif" bgcolor="#BDDBEE">
<table width="98%" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td> 请核查前上传企业技术及管理人员表:
<input type="FILE" name="FILE1" size="30">
<input type="submit" name="Submit" value="上传" >
</td>
</tr>
</table>
</td>
</tr>
</table>
</form>
action="uploadTechnicianDo.jsp"代码
<%@ page contentType="text/html; charset=gbk" language="java" import="com.jspsmart.upload.*,java.util.*" %>
<html>
<head>
<title>文件上传处理页面</title>
</head>
<body>
<form name="TechnicianFrm" >
<%
//服务器的图片\试卷保存路径
String path="";
try
{
String separator = null;
java.util.Properties p = new Properties(System.getProperties());
String osName = p.getProperty("os.name");
java.io.File upfile=new java.io.File("upload");
if(osName.indexOf("Win")!=-1)
{
separator = "\\";
if(!(upfile.isDirectory()))
{
upfile.mkdirs();
}
path = "upload\\";
}
else if(osName.indexOf("AIX")!=-1)
{
separator = "/";
if(!(upfile.isDirectory()))
{
upfile.mkdirs();
}
path="upload/";
}
System.out.println("FilePath: "+upfile.getAbsolutePath());//2007-12-14test
session.setAttribute("FilePath",upfile.getAbsolutePath());
if(separator==null)
{
return;
}
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
//out.println("TEST="+su.getRequest().getParameter("TEST")
su.initialize(pageContext);
su.upload();
// 将上传文件全部保存到指定目录
int count = su.save(path);
//out.println(count+"个文件上传成功!<br>");
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);
// 若文件不存在则继续
if (file.isMissing()) continue;
session.setAttribute("FileName",file.getFileName());
}
String uploadOk= "\n<Script language=\"javaScript\"> alert('上传成功!');</Script>";
session.setAttribute("uploadOk",uploadOk);
response.sendRedirect("importTest.jsp");
}
catch(Exception err)
{
err.printStackTrace();
}
%>
</form>
</body>
</html>
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
以下是使用的一个实例. 具体方法都可以从commons-fileupload的API文件中找到,不再多说..
上传页面;
up.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form action="up1.jsp" method="post" enctype="multipart/form-data" name="form1">
<input name="thisfile" type="file" id="thisfile">
<input name="user" type="text" id="user" size="10">
<input type="submit" name="Submit" value="Submit">
</form>
</body>
</html>
后端处理页面
up1.jsp
<%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<%
try{
String dir=request.getRealPath(".");
DiskFileUpload fu = new DiskFileUpload();
fu.setSizeMax(4194304); //设置文件大小.
fu.setSizeThreshold(4096); //设置缓冲大小.
fu.setRepositoryPath(dir+"/test"); //设置临时目录.
List fileItems = fu.parseRequest(request); //解析请求,返回一个集合.
Iterator i = fileItems.iterator();
while(i.hasNext())
{
FileItem fi = (FileItem)i.next();
if(fi.isFormField()) //这是用来确定是否为文件属性,
{
String fieldName = fi.getFieldName(); //这里取得表单名
String fieldvalue=fi.getString(); //这里取得表单值
out.print("<br>");
out.print("name:"+fieldName);
out.print("value:"+fieldvalue);
}
else //这里开始外理文件
{
String fileName = fi.getName(); // 返回文件名包括客户机路径
if(fileName!=null)
{
out.print(fileName);
out.print("<br>"+fi.getFieldName()); // 打印文件表单名
fi.write(new File(dir+"/test/a.jpg")); // 写文件到服务器.
}
}
}
}
catch(Exception e)
{}
%>
</body>
</html>
分享到:
相关推荐
java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件上传工具类java 文件...
"性能最好的Java文件上传组件"是指一种优化了上传速度和资源消耗的工具,它能够有效地处理大文件上传、多文件并发上传等问题,提高应用的用户体验。在这个场景中,我们提到了基于"COS"的Java文件上传组件。COS通常指...
Java 文件上传程序 Java 文件上传程序是指使用 Java 语言编写的文件上传程序,负责接收和处理客户端上传的文件。以下是 Java 文件上传程序的相关知识点: 1. 服务器端编程:Java 文件上传程序的服务器端使用 Java ...
java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java 文件上传工具类 java 文件上传工具类java ...
"java文件上传组件包"正是这样一套工具集,旨在简化Java开发中的文件上传流程。 在Java中处理文件上传,主要涉及以下知识点: 1. **Servlet API**:在服务器端,Servlet API是处理HTTP请求的基础。`javax.servlet....
### Java文件上传方法详解 在Java开发中,文件上传是一个非常常见的需求,尤其是在Web应用程序中。本文将基于提供的代码片段,详细介绍如何使用Java实现文件上传功能,并解释代码中的关键部分。 #### 一、代码结构...
本示例("java文件上传dome")聚焦于使用Tomcat中的Servlet和Apache Commons FileUpload库来实现这一功能。以下是这个示例中涉及的关键知识点: 1. **Servlet**: Servlet是Java EE中用于扩展服务器功能的Java类。...
### 彻底搞定Java文件上传:jspsmartupload、commonupload与orellay对比解析 在Java开发领域中,文件上传一直是备受关注的功能之一。针对这一需求,开发者们通常会选用几种较为流行的库来实现这一功能,其中包括较...
在Java编程中,文件上传是一项常见的任务,尤其在开发Web应用程序...通过这个简单的Java文件上传例子,开发者可以学习如何在实际项目中实现文件上传功能,并理解相关的技术细节。这有助于提升Web应用的交互性和功能性。
首先,Java文件上传通常涉及到Servlet和HTTP协议。Servlet是Java中用于处理HTTP请求的服务器端组件,它接收来自客户端(通常是Web浏览器)的请求,并返回响应。在文件上传场景下,Servlet会接收包含上传文件数据的...
总结来说,Java文件上传AR包涉及到使用Servlet API、Apache Commons FileUpload和IO库来处理多部分请求,解析上传的文件,存储到服务器,并确保整个过程的安全性和性能。在实际开发中,这些知识点是构建高效、安全...
Flex和Java文件上传技术是Web应用中常见的功能,主要用于用户在网页端上传本地文件到服务器。Flex是一款由Adobe公司开发的开源框架,主要用于构建富互联网应用程序(Rich Internet Applications,RIA)。它基于...
**jQuery Uploadify与Java文件上传** 在Web开发中,文件上传功能是不可或缺的一部分。`jQuery Uploadify`是一款基于JavaScript和jQuery的插件,它提供了一种优雅的方式来进行多文件上传,具有良好的用户体验和丰富...
1. **Java文件上传** - **Servlet API**:Java Servlet API提供了处理HTTP请求的能力,包括文件上传。在SpringMVC中,我们通常使用`@RequestParam`注解来接收上传的文件。 - **Commons FileUpload**:Apache ...
在Java编程语言中,文件上传是一项常见的功能,广泛应用于各种Web应用中,如社交媒体平台、云存储服务等。实现基于Java的文件上传涉及到多个技术点,包括Servlet、HTTP协议、多部分请求(Multipart Request)以及...
以上是关于Java文件上传工具类处理文件及文本数据的主要知识点。理解并熟练掌握这些概念,可以帮助开发者创建高效、安全的文件上传系统。在实际开发中,还需要根据具体需求和项目规范来定制和扩展这些基础功能。
以下是对"java文件上传下载工具类"这一主题的详细解释。 首先,让我们了解文件上传。在Web应用中,用户可能需要上传文件,如图片、文档或视频。Java通过Servlet API提供了处理文件上传的功能。Servlet 3.0及以上...
"java文件上传的用到的jar包"就是这样一个集合,它包含了实现文件上传功能所需的各种组件。 1. **Apache Commons FileUpload**:这是最常用的文件上传库之一,提供了处理HTTP请求中的多部分数据(multipart/form-...
总的来说,这个源码包提供了从客户端文件选择、HTTP上传、服务器端接收、文件保存到服务器的完整流程,是学习和理解Java文件上传功能的好例子。通过深入研究和实践,开发者可以掌握文件上传这一核心的Web开发技能。
在Java开发中,文件上传和下载是常见的功能需求,尤其在网络应用中,如网页、桌面应用或移动应用。为了实现这些功能,开发者通常需要引入特定的库或jar包。在这个场景下,"文件上传下载需要的jar包"指的是用于处理...