`

使用servlet保存用户上传的文件到本地

 
阅读更多
原文地址:http://blog.csdn.net/shuwei003/article/details/6742332



upload.jsp

[plain] view plaincopy
<%@page contentType="text/html;charset=utf-8" %> 
<head> 
<title>fbysss UploadBean 示例</title> 
<!--meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"--> 
<!--meta http-equiv="Content-Type" content="text/html; charset=gb2312"--> 
</head> 
<FORM name="form1" METHOD="POST" ACTION="adddata" ENCTYPE="multipart/form-data"> 
附件 
<input name="attach" type="FILE" id="attach" size="50" /> 
<input name="ok" type= "submit" value="提交"> 
</form> 

web.xml



[plain] view plaincopy
<servlet> 
        <servlet-name>AddDataServlet</servlet-name> 
        <servlet-class>com.upload.action.AddDataServlet</servlet-class> 
    </servlet> 
    <servlet-mapping> 
        <servlet-name>AddDataServlet</servlet-name> 
        <url-pattern>/adddata</url-pattern> 
    </servlet-mapping> 

AddDataServlet.java

[java] view plaincopy
package com.upload.action; 
 
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.FileItem; 
import org.apache.commons.fileupload.FileItemFactory; 
import org.apache.commons.fileupload.disk.DiskFileItemFactory; 
import org.apache.commons.fileupload.servlet.ServletFileUpload; 
 
public class AddDataServlet extends HttpServlet{ 
 
    @Override 
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
        this.doPost(request, response); 
    } 
 
    @Override 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 
        String tempDirectory = "d:/temp/";    //要在最后加上斜杠:temp/,缓存文件目录 
        try { 
            int sizeThreshold = 1024 * 64;  //写满该大小的缓存后,存入硬盘中。 
            File repositoryFile = new File(tempDirectory); 
            FileItemFactory factory = new DiskFileItemFactory(sizeThreshold, repositoryFile); 
            ServletFileUpload upload = new ServletFileUpload(factory); 
            upload.setHeaderEncoding("utf-8");  //设置字符编码 
            upload.setSizeMax(50 * 1024 * 1024); // set every upload file'size less than 50M 
            List items = upload.parseRequest(request);   //这里开始执行上传 
            Iterator iter = items.iterator(); 
             
            while (iter.hasNext()) { 
                FileItem item = (FileItem) iter.next();   //FileItem就是表示一个表单域。 
                 
                if(item.isFormField()){ //isFormField方法用于判断FileItem是否代表一个普通表单域(即非file表单域) 
                    System.out.println("***"+item.getFieldName());   
                }else { 
                    //String fieldName = item.getFieldName();  //获取表单域name属性的值 
                    //String fileName = item.getName();     //返回该文件在客户机上的文件名。e.g: e:\dianying\\video\1.wmv 
                    //System.out.println("*****"+fieldName); 
                    //System.out.println("*****"+fileName); 
                    String path = item.getName(); 
                    String fileName = path.substring(path.lastIndexOf("\\")); 
                    File uploadedFile = new File("d:/video/" + fileName); 
                    item.write(uploadedFile); 
                } 
            } 
        } catch (Exception e) { 
            e.printStackTrace(); 
        } 
 
    } 
 

分享到:
评论

相关推荐

    servlet实现文件上传功能

    总结来说,Servlet实现文件上传功能涉及了HTTP协议、Servlet API的使用、文件I/O操作、安全性考量以及用户交互优化等多个方面。通过深入理解和实践这些知识点,我们可以构建出健壮、安全的文件上传功能。

    JAVA_servlet的文件上传案例

    文件上传功能允许用户在Web表单中选择本地文件并将其发送到服务器进行存储或处理。 首先,我们需要了解HTTP协议中的多部分/形式数据(Multipart/form-data)。在文件上传场景下,HTML表单通常设置`enctype=...

    利用COS Servlet上传文件

    在本文中,我们将探讨如何利用COS(可能是腾讯云对象存储服务)Servlet来上传文件到服务器。这个过程通常涉及客户端和服务器端两个主要部分:客户端负责选择并发送文件,而服务器端则接收文件并处理上传请求。 1. *...

    SSM上传文件到本地和云里面

    这里的`FileService`是业务逻辑层的服务,它负责具体的文件操作,如保存到本地或上传到云服务。 对于本地存储,`FileService`可能会有如下实现: ```java @Service public class FileService { public void ...

    jsp+servlet文件上传

    这段代码首先获取到上传的文件Part,然后得到文件名,最后将其保存到服务器指定的路径。在实际应用中,你可能还需要添加异常处理、文件大小限制、文件类型检查等安全措施。 在部署Web应用时,需要确保`web.xml`配置...

    文件上传下载servlet自用

    1. 文件大小限制:为了防止大文件导致服务器内存溢出,我们需要设定上传文件的最大大小。 2. 文件类型检查:验证用户上传的文件类型,避免安全风险,如上传恶意脚本。 3. 文件重命名:为避免文件名冲突,通常会对...

    Servlet 下 kindeditor使用!封装了servlet本地图片上传及源码说明!

    这个Servlet的主要任务是接收KindEditor上传的图片文件,保存到服务器的指定目录,并返回一个包含图片URL的JSON响应。以下是一个简单的Servlet示例: ```java import javax.servlet.http.HttpServletRequest; ...

    Flex和Servlet结合上传文件

    在“Servlet处理上传文件过程”中,我们需要编写一个Servlet来接收这些数据。Servlet通过Override `doPost` 方法来处理POST请求,其中`HttpServletRequest`对象可以用来读取请求体中的文件内容。通常,我们会使用`...

    Flex4.6+java+servlet上传图片例子+图片上传预览

    为了实现图片上传,Flex前端可能会使用FileReference类,它提供了读取本地文件并上传到服务器的能力。FileReference对象可以监听“uploadCompleteData”事件,当文件上传成功时触发。同时,通过Flash Player的...

    Java版Linux文件上传下载、windows本地文件上传下载

    后端服务器(如Java Servlet或Spring MVC Controller)接收到请求后,可以使用前面提到的Java文件操作API处理上传的文件,并将其保存到服务器的指定位置。 对于文件下载,HTML中可以创建一个链接,指向服务器上的...

    使用Servlet+jQuery实现读取本地硬盘图片

    1. 图片上传:用户在前端上传图片,Servlet接收并保存到服务器指定目录。 2. 图片展示:Servlet读取服务器上的图片文件并返回给前端,jQuery负责在页面上显示。 **源码分析** 在博文链接中,可能包含以下内容: 1. ...

    JSP+servlet上传文件有 进度条

    在Web开发中,用户经常需要上传文件,例如图片、文档等。为了提供更好的用户体验,引入了文件上传进度条的功能,让用户能实时了解上传进度,增强交互性和反馈效果。本主题将详细探讨如何在JSP(JavaServer Pages)和...

    文件上传servlet方式

    在Java Web开发中,文件上传是一项常见的功能,用于允许用户上传本地文件到服务器。本教程将专注于使用Servlet来实现文件上传。Servlet是Java提供的一种服务器端编程接口,它能够处理HTTP请求并返回响应。在不依赖...

    ftp、servlet上传文件

    接着,设置被动模式以避免防火墙问题,然后使用FTPClient的storeFile()方法将本地文件上传到服务器。确保在完成所有操作后断开连接,并妥善处理异常情况。 ```java FTPClient ftpClient = new FTPClient(); try { ...

    java servlet 文件上传

    为了安全起见,你应该限制上传文件的大小和类型,避免恶意用户上传大文件或者有害文件。可以使用`FileUpload`的配置方法来限制大小,也可以通过文件名检查文件类型。 总之,Java Servlet配合Apache Commons ...

    Servlet上传代码和架包

    文件上传是Web应用程序中的常见功能,允许用户将本地文件传输到服务器。在Servlet中,我们通常使用`HttpServletRequest`对象的`getPart()`方法来处理文件上传。这个方法是Java Servlet 3.0及以上版本引入的,使得...

    Java Servlet上传文件

    4. **处理上传后逻辑**:在Servlet中,你可以根据需求执行各种操作,如验证文件类型、大小,或者将文件保存到数据库等。 在提供的文件名列表中,`MoreFileUpLoadServlet.java`和`OneFileUpLoadServlet.java`可能...

    jsp+servlet 图片上传

    实践中,还可能涉及到安全性优化,如使用MIME类型检查防止恶意文件上传,使用CDN存储图片以减轻服务器压力,以及使用session或cookie进行用户验证等。总的来说,理解和熟练掌握`JSP`和`Servlet`的配合使用,对于开发...

    使用Springboot上传图片并将URL保存到数据库中

    本示例将详细讲解如何实现一个简单的文件上传功能,将图片上传至服务器,并将图片的URL保存到数据库中。 首先,我们需要在Spring Boot项目中引入所需的依赖。对于文件上传,Spring Boot本身提供了`spring-boot-...

    安卓+servlet实现上传下载图片

    在Android应用开发中,我们经常需要处理文件的上传和下载功能,特别是在涉及到用户交互和数据交换的场景。这里,我们将探讨如何使用Android客户端与Servlet服务器端配合,实现图片的上传和下载。 首先,让我们理解...

Global site tag (gtag.js) - Google Analytics