在很多的jsp 项目中,我们要上传附件,如很多的BBS也有这样的功能,邮件也一样,相信大家已非常熟悉了,这里就介绍他是怎么实现的;
这里我们选择第三方组件,你可以选择:commons-fileupload 或jspSmartUpload
这里我们选择apache的commons-fileupload;
这个组件的包你可以在:http://jakarta.apache.org/site/downloads/下载
可以在左边的导航中找到Commons然后在里面找到commons-fileupload
在用这个包的同时我们还用到了apache的io包,它同样在Commons里可以找到;
下面是书上的一个实例代码:
upload.jsp
<%@ page language="java" contentType="text/html;charset=GBK"
pageEncoding="GBK"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GBK">
<title>Insert title here</title>
</head>
<body>
common file upload 上传实例<br>
<form method="post" action="FileUpload" ENCTYPE="multipart/form-data">
文件:<input type="file" name="file"/>
<input type="submit" value="上传" name="submit">
</form>
</body>
</html>
下面是一个处理的servlet
FileUpload.java
package servlet;
import java.io.File;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Iterator;
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.FileItemFactory;
import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
public class FileUpload extends HttpServlet {
private static final long serialVersionUID = 1L;
public FileUpload() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
boolean isMultipart=ServletFileUpload.isMultipartContent(request);
if(isMultipart){
FileItemFactory factory=new DiskFileItemFactory();
ServletFileUpload upload=new ServletFileUpload(factory);
Iterator items;
try{
items=upload.parseRequest(request).iterator();
while(items.hasNext()){
FileItem item=(FileItem)items.next();
if(!item.isFormField()){
String name=item.getName();
String fileName=name.substring(name.lastIndexOf('\\')+1, name.length());
String path=request.getRealPath("file")+
File.separatorChar+fileName;
File uploadFile=new File(path);
item.write(uploadFile);
response.setContentType("text/html");
response.setCharacterEncoding("gb2312");
PrintWriter out=response.getWriter();
out.print("<font size='12'>上传文件为"+name+"<br>");
out.print("保存地址为"+path+"<br>");
}
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
分享到:
相关推荐
在封装上传文件组件时,我们需要考虑以下几个关键步骤: 1. **选择图片**:通过`wx.chooseImage`接口,限制用户选择的图片数量,可以是单张或多张,根据实际需求来设定。 ```javascript wx.chooseImage({ count: ...
【标题】"功能强大的文件上传组件"涉及到的核心技术是HTML5中的文件上传API,这是一个现代Web应用中不可或缺的功能,尤其在交互丰富的网站和应用程序中。HTML5的File API提供了更灵活、更强大的文件处理能力,使得...
【WEBOFFICE组件jspsmart上传文件组件源码】是一个专用于在Web环境中实现文件上传功能的组件。这个组件通常被集成到基于Java的Web应用程序中,为用户提供了一个便捷的方式来上传各种类型的文件到服务器。WEBOFFICE是...
**jspSmartUpload上传文件组件详解** `jspSmartUpload`是一个基于Java的文件上传组件,它在JSP(Java Server Pages)环境中提供了强大的文件上传功能。这个组件为开发者提供了方便、安全且灵活的方式来处理用户通过...
无刷新上传文件组件在.NET框架下,特别是在C#编程环境下,是一种提高用户体验的重要技术。它允许用户在不重新加载整个网页的情况下,实现文件的上传,极大地优化了交互流程。这种技术主要依赖于Ajax(Asynchronous ...
上传文件组件SmartUpload
上传文件组件SmartUpload
ASP.NET上传文件组件是开发Web应用时不可或缺的一部分,它们允许用户通过网页将本地文件上传到服务器。在ASP.NET环境中,有多种实现文件上传的方式和组件,例如“bcbbs.net_UploadDemo”和“NeatUpload-1.2.30”。这...
本篇文章将深入探讨如何在JSP中实现文件上传功能,并介绍相关的组件和最佳实践。 一、文件上传的原理 文件上传是用户通过Web表单提交文件到服务器的过程。HTTP协议的POST请求可以携带文件数据,通常我们需要设置...
以上就是关于“JAVAWeb文件上传组件”的基本介绍,包括Apache Commons FileUpload和Commons IO的作用以及它们在Struts2框架中的使用。通过理解这些知识点,开发者可以有效地实现在Java Web应用中处理文件上传的需求...
使用fileupload组件实现文件上传功能 FileUpload组件是Apache提供的一款文件上传组件,能够帮助我们轻松实现文件上传功能。下面我们将详细介绍使用FileUpload组件实现文件上传功能的步骤和要点: 首先,需要引入两...
5、支持大文件上传,一次可以上传多个文件,上传时有详细状态显示(单个文件进度,整体进度,传输速率,剩余时间等)。 6、支持各种代理(HTTP, Socket4, Socket5等) 7、客户端可以绑定表单变量,服务端并可以接收...
"Ext2.0 文件上传组件"是一个用于Web应用程序的组件,它允许用户在浏览器中方便地上传文件。这个组件基于Ext JavaScript库的2.0版本,Ext是一个强大的前端开发框架,提供了丰富的用户界面组件和数据管理功能。在本文...
本篇将详细介绍Vue.js中实现多文件上传的相关知识点,以及如何使用`vue-upload-component`这个开源组件来帮助我们实现这一功能。 首先,文件上传组件通常需要处理以下几个关键点: 1. **多文件选择**:用户可能...
ASP文件上传组件是一种在Web应用中处理用户上传文件的关键技术,尤其对于动态网站而言,它允许用户方便地将数据文件(如文档、图片、音频、视频等)上传至服务器。在本例中,"AN-Upload"是这样一个组件,它采用ASP...
文件上传组件是网页应用中常见的功能模块,它允许用户选择本地文件并将其上传到服务器。在JavaScript(JS)中实现文件上传组件,涉及到的技术点主要包括HTML5的File API、Ajax异步请求、 formData对象以及前端与后端...
在IT领域,文件上传组件是Web应用程序中不可或缺的一部分,它允许用户向服务器传输各种大小的文件。本篇文章将深入探讨并比较三个常见的文件上传组件:Cos、FileUpload和SmartUpload,基于它们的性能表现和适用场景...
在IT行业中,大文件上传组件是一个非常重要的工具,特别是在web应用程序和云计算环境中。它解决了由于文件大小限制导致的传统上传方式的不便,使用户能够方便地上传GB级别的大型文件。本篇将围绕大文件上传组件这一...
在ASP中,无组件上传文件通常是指不依赖第三方控件或组件,仅使用内置的ASP功能来实现文件上传功能。这有助于减少服务器的资源占用,并简化部署过程。 在ASP中实现无组件上传文件,主要涉及以下几个核心知识点: 1...