`
bruce198
  • 浏览: 236329 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

文件上传原理简单实现

    博客分类:
  • java
阅读更多

      要实现文件上载,我们必须先了解上载文件的HTTP请求。下面这个简单的应用示范了如何上载文件以及把HTTP请求的原始数据写入文件。用文本编辑器查看该文件即可了解请求的格式,在此基础上我们就可以提取出上载文件的名字、文件内容以及原本混合在一起的其他信息。

在这里我们写一个简单的html页面up.html,提供一个表单,用户从这里选择文件并把文件上载到服务器。

注意,<form>标记有一个enctype属性,属性值是"MULTIPART/FORM-DATA"。还有个type为file的输入框是用来选择上传文件的。

表单的action属性值是upjsp.jsp,这是将请求发送给upjsp.jsp文件。upjsp.jsp调用了名为UpBean的JavaBean。

程序如下:下面是UpBean的实现代码:

  1. <jsp:useBean id="TheBean" scope="page" class="UpBean " />    
  2. <%    
  3. TheBean.doUpload(request);    
  4. %>    

 

java 代码
  1. import java.io.*;   
  2. import javax.servlet.http.HttpServletRequest;   
  3. import javax.servlet.http.HttpServletResponse;   
  4. import javax.servlet.ServletInputStream;   
  5.   
  6. public class UpBean {   
  7.   
  8.     public void doUpload(HttpServletRequest request) throws  
  9.   
  10.     IOException {   
  11.         PrintWriter pw = new PrintWriter(   
  12.         new BufferedWriter(new FileWriter("test.txt")));   
  13.         ServletInputStream in = request.getInputStream();   
  14.         int i = in.read();   
  15.         while (i != -1) {   
  16.             pw.print((char) i);   
  17.             i = in.read();   
  18.         }   
  19.         pw.close();   
  20.     }   
  21.   
  22. }  

 

这个JavaBean把HttpServletRequest对象的表单原始数据写入test.txt文件.

选择上传一个文本或者网页文件。点击“上载”按钮之后,表单就发送给了upjsp.jsp文件,一起发送的还有上传的文件。upjsp.jsp文件不会向浏览器发送任何应答内容,但它会生成一个test.txt文件。打开test.txt文件,我们可以看到上传文件的内容和一些上传的信息了。

  1. <html>    
  2.   
  3. <head>    
  4. <title>文件上载</title>    
  5. </head>    
  6.   
  7.     <body>    
  8.        
  9.         <form action="upjsp.jsp" enctype="MULTIPART/FORM-DATA" method=post>    
  10.                    
  11.             <br />     
  12.             公司: <input type="text" name="company" />    
  13.             <br />     
  14.             选择要上载的文件 <input type="file" name="filename" />    
  15.             <br />    
  16.                
  17.             <input type="submit" value="上载" />    
  18.            
  19.         </form>    
  20.        
  21.     </body>    
  22.   
  23. </html>   
分享到:
评论

相关推荐

    web文件上传原理讲解与代码

    ### Web文件上传原理详解 #### 一、引言 随着互联网技术的发展,用户与网站之间的交互变得越来越频繁和复杂,其中文件上传就是一种常见的交互方式。无论是上传照片、文档还是视频,都离不开文件上传功能的支持。...

    java文件上传进度条实现基本原理

    Java 文件上传进度条实现的基本原理主要涉及到客户端与服务器之间的数据传输、多线程处理和用户界面更新。在本文中,我们将深入探讨这个过程,并提供一个简单的实现思路。 首先,了解文件上传的基本流程:用户选择...

    通过Servlet文件上传理解Struts2文件上传原理(附源码)

    在本文中,我们将深入探讨如何使用Servlet来理解Struts2中的文件上传原理。Servlet是Java Web应用程序中的一个组件,用于处理HTTP请求和响应。而Struts2是一个基于MVC(模型-视图-控制器)设计模式的开源Web应用框架...

    大文件上传, ajax 实现, 支持10G以上的上传

    本教程将基于标题“大文件上传,ajax实现,支持10G以上的上传”和描述,详细介绍如何使用AJAX实现大文件上传,并探讨其背后的原理和技巧。 首先,理解大文件上传的关键在于分块上传。当文件过大时,一次性上传整个...

    文件上传原理.pdf

    ### 文件上传原理详解 #### 一、引言 随着信息技术的快速发展,Web应用程序已经成为现代办公自动化系统中的核心组成部分。在这些应用中,文件上传是一项基本而又重要的功能,它允许用户从本地计算机向服务器发送...

    有关java上传和File以及FileInputStream的区别

    文件上传原理简单实现: 1. **接收请求**:服务器端设置Servlet或Controller监听文件上传的HTTP请求。 2. **解析请求**:使用像Commons FileUpload这样的库解析多部分请求,获取文件内容。 3. **创建临时文件**:将...

    java上传文件简单代码

    通过解析提供的部分代码片段,我们可以了解到这段代码实现了一个简单的文件上传功能。下面将对这些知识点进行详细说明。 ### Java文件上传的基本原理 在Java Web开发中,文件上传是一个常见的需求。通常情况下,...

    实现文件上传的java代码

    首先,理解文件上传的基本原理至关重要。在HTTP协议中,文件上传通常依赖于多部分/形式数据(Multipart/form-data)的请求类型。这种格式允许在一个表单中发送多个数据段,每个段都有自己的类型和内容,其中就包括了...

    java文件异步上传

    当文件上传请求到达服务器时,这些方法会接收文件流,保存到服务器的磁盘上,或者将其存储到数据库或云存储服务中。处理上传的Java代码需要考虑到文件大小限制、错误处理、文件命名规则以及安全性等方面的问题。 ...

    JavaBean实现多文件上传的两种方法

    JavaBean实现多文件上传的两种方法,主要涵盖了使用HTTP协议和FTP协议进行文件上传的详细过程,这是在基于Web的应用中常见的需求,特别是在B/S架构的项目中。下面,我们将深入探讨这两种方法的具体实现和其背后的...

    smartupload文件上传简单实例

    通过理解其工作原理和API,开发者能快速实现功能丰富的文件上传功能,同时确保了上传过程的安全性和稳定性。在实际项目中,根据具体需求,可以进一步扩展和定制SmartUpload的功能,满足更复杂的需求。

    C#实现HTTP上传文件的方法

    通常,文件上传是通过POST请求实现的,其中包含一个名为"multipart/form-data"的Content-Type,用于分隔不同的数据部分。每个部分都有自己的边界,以便服务器能够正确解析数据。 在C#中,我们可以利用System.Net...

    文件上传下载需要的jar包 java文件上传下载

    9. **进度反馈与取消操作**: 对于用户体验,提供文件上传和下载的进度反馈以及取消操作的能力也是很重要的,这可以通过监听上传或下载的进度并更新UI来实现。 10. **文件存储策略**: 选择合适的文件存储策略,如...

    HTML5+WebSocket实现多文件同时上传的实例

    【WebSocket实现多文件上传】 WebSocket是一种在客户端与服务器之间建立长连接的协议,它可以提供双向通信,即服务器和客户端都可以随时发送数据。这使得实时交互应用如文件上传变得更为高效。结合HTML5的新特性,...

    jboss portlet实现文件上传小项目

    3. **文件上传原理** - **HTTP协议**:文件上传通常基于HTTP的POST请求,数据以表单形式提交。 - **Multipart/form-data**:文件上传通常使用这种格式,将文件内容分割成多个部分,每部分都有单独的头信息。 4. *...

    用JavaBean实现文件上传

    在深入探讨如何使用JavaBean实现文件上传之前,我们首先需要理解文件上传的基本原理。文件上传本质上是通过HTTP请求将文件作为请求体的一部分发送给服务器的过程。在本案例中,我们使用了一个简单的HTML表单与...

    jsp实现文件上传功能

    5. **反馈结果**:处理完文件后,Servlet可以通过重定向或转发操作返回结果,可以是一个简单的消息告知用户文件上传成功,或者是一个包含上传文件信息的页面。 6. **安全性考虑**:在实现文件上传功能时,必须考虑...

    java实现文件上传到ftp

    下面是一个简单的FTP文件上传的步骤: 1. **创建FTPClient对象**:`FTPClient ftp = new FTPClient();` 2. **连接到FTP服务器**:`ftp.connect(server, port);` 需要指定服务器的IP地址(server)和端口号(port...

Global site tag (gtag.js) - Google Analytics