文件上传的方法有很多,可以基于commons-fileupload+commons-io的,其实也有基于cos.jar的方法,Jar 可以去http://www.servlets.com/cos/index.html 下载.
下面就以一个简单的图片上传+根据具体选项修改文件名的方法:
1.先写一个servlet类:
package com.lee.util;
import java.io.File;
import java.io.IOException;
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.DiskFileUpload;
import org.apache.commons.fileupload.FileItem;
import java.util.Enumeration;
import com.lee.util.test.MyFileRenamePolicy;
import com.oreilly.servlet.MultipartRequest;
import com.oreilly.servlet.multipart.FileRenamePolicy;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.oreilly.servlet.MultipartRequest;
public class FileUpload extends HttpServlet {
private String webTempPath;
public void init( ){
webTempPath = getServletContext( ).getRealPath("/") + "images/item";
}
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, java.io.IOException {
String itemNo = request.getParameter("itemNo");
//file limit size of 5 MB
MultipartRequest mpr = new MultipartRequest(request,webTempPath,(5 * 1024 * 1024),new MyFileRenamePolicy(itemNo));
Enumeration enum2 = mpr.getFileNames( );
response.setContentType("text/html");
java.io.PrintWriter out = response.getWriter( );
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet upload</title>");
out.println("</head>");
out.println("<body>");
for (int i = 1; enum2.hasMoreElements( );i++){
out.println("The name of uploaded file " + i +
" is: " + mpr.getFilesystemName((String) enum2.nextElement( )) +"/"+itemNo
+ "<br><br>");
}
out.println("</body>");
out.println("</html>");
}
public void doGet(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, java.io.IOException {
throw new ServletException("GET method used with " +
getClass( ).getName( )+": POST method required.");
}
}
2. 编程HTML代码:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Please Choose The File</title>
</head>
<body bgcolor="#ffffff">
<table border="0"><tr>
<form action="upload" method="post" enctype="multipart/form-data">
<td valign="top">请选择文件:<br></td>
<td> <input type="file" name="file1">
<br><br>
</td></tr>
<tr><td><input type="submit" value="上传文件"></td></tr>
</form>
</table>
</body>
</html>
3.当然是XML的编写..
<servlet>
<servlet-name>upload</servlet-name>
<servlet-class>com.lee.util.test.UploadTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>upload</servlet-name>
<url-pattern>/upload</url-pattern>
</servlet-mapping>
分享到:
相关推荐
`cos.jar`可能就是腾讯云对象存储的SDK,帮助开发者在Java项目中实现上传、下载、管理云端文件等功能。 【标签】"myeclipse"则提到了一个集成开发环境(IDE),MyEclipse是基于Eclipse平台的一个强大Java应用开发...
在本话题中,我们将深入探讨如何使用`cos.jar`这个库来实现腾讯云COS上的文件上传功能。 `cos.jar`是一个专门为腾讯云COS设计的Java库,它封装了与COS服务交互的所有必要API,使得开发者能够轻松地在Java应用程序中...
总的来说,"cos-26Dec2008.jar"是JFinal文件上传至腾讯云COS的一个关键组件,通过这个组件,开发者可以轻松实现文件的云存储和管理,从而提高应用的可扩展性和可靠性。理解并掌握如何使用这个组件,对于进行基于...
本示例主要介绍如何利用`cos.jar`这个腾讯云COS的Java SDK,实现简单的文件上传功能。仅需5行代码,就能轻松完成任务,这展示了COS SDK的易用性和高效性。 【描述】:“用cos.jar实现的文件上传,很简单,5行代码”...
本文将深入探讨两种主要的JSP文件上传方法的对比,并介绍`jspsmartupload.jar`库以及`cos-26Dec2008.zip`库在文件上传中的应用。 一、JSP文件上传方式对比 1. **基于表单的传统方式** - 这种方法使用HTML的`...
【标题】"基于Java的文件上传组件COS.zip"指的是一个使用Java语言开发的文件上传组件,该组件可能被设计用于将用户端的文件上传到特定的存储服务,如腾讯云对象存储(COS,Cloud Object Storage)。这个组件可能是...
【标题】基于Java的文件上传组件COS.zip 在Java开发中,文件上传是一项常见的功能,尤其是在构建Web应用时。COS(Cloud Object Storage)通常指的是云存储服务,如腾讯云的对象存储服务,它提供了安全、高可用的...
Spring 在两个地方要用到 COS:文件上传处理和 e-mail 发送。不过,在这两种情形中,COS 都只是实现选择之一,因此只有选用 COS 而非其它实现方法时,才需包含 cos.jar。 dom4jdom4j.jar 使用 Hibernate 时 dom4j ...
WEB相关操作,包括将参数封装成对象,文件上传等 依赖Jar包:cos.jar(此包和struts可能存在冲突) SQL处理,主要负责SQL的参数处理,自动从指定的来源获取参数值,如果没有参数值,参数条件会被替换成1=1 如:...
这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 (11) spring-web.jar 这个jar文件包含Web应用开发时,用到Spring框架时...
《深入解析"Cos-26Dec2008jar包"与JFinal文件上传机制》 在IT行业中,文件上传是常见的操作之一,特别是在Web应用中。本文将深入探讨一个特定的jar包——"cos-26Dec2008jar包",以及它在JFinal框架中的文件上传实现...
Spring在文件上传处理和email发送中可使用COS,但并非唯一选择。仅当选用COS作为实现方式时,才需包含cos.jar。 ### 7. DOM4j - **JAR文件**: dom4j.jar - **说明**: 当使用Hibernate时,DOM4j是必需的。如果应用...
Spring在文件上传处理和电子邮件发送方面会用到COS。但COS只是其中一个实现选项,如果选择其他实现方式,则无需包含此JAR文件。 7. **DOM4J** - **JAR文件**:dom4j.jar - **说明**:使用Hibernate时,DOM4J是必...
spring-web.jar(必须) :这个jar 文件包含Web 应用开发时,用到Spring 框架时所需的核心类,包括自动载入Web Application Context 特性的类、Struts 与JSF 集成类、文件上传的支持类、Filter 类和大量工具辅助类。...
4. **spring-aop.jar**:提供基于 AOP 的特性,如声明式事务管理,依赖 spring-core、spring-beans、AOP Alliance、CGLIB 和 Commons Attributes。 5. **spring-context.jar**:扩展了 Spring 核心,包含 ...
JSP是一种基于Java的动态网页技术,而COS则是腾讯云提供的一种高可用、高稳定、低成本的云存储服务。通过将这两者结合,开发者可以方便地在Web应用中实现文件的云存储。 首先,我们需要了解JSP中的文件上传基础知识...
这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 (11) spring-web.jar 这个jar文件包含Web应用开发时,用到Spring框架...
2. **cos-26Dec2008.jar**:这是China Online System(COS)的Java库,它是一个用于文件上传和下载的组件。在早期的Java Web开发中,COS被广泛用于处理文件上传,支持断点续传和大文件分块上传等功能。不过,随着...
这个jar文件包含支持缓存Cache(ehcache)、JCA、JMX、邮件服务(Java Mail、COS Mail)、任务计划Scheduling(Timer、Quartz)方面的类。 UI方面的用来与模板(Templating)引擎如 Velocity、FreeMarker、...