`

Web 上传文件原理

阅读更多

      很早就想好好记录下自己在开发中遇到的问题,但自己一直难于改变长时间养成的惰性,所以这种想法一直在脑海中存在,却从来没有行动过。这次终于得一师兄的善意提醒,鼓起勇气写写自己平时遇到的一些问题,这样既能让自己对这一知识点更加的深刻,又能让自己思考其他的方法,更重要的是在学习中把这些东西分享出来就更让人快乐。由于这是我第一次写这样的文章,不免有些激动,所以话也有些啰嗦,好了,还是进入我今天的主题,不然我就真成唐僧了。

      今天我想总结的是web文件上传的原理,其实现在网上有很多文件上传的组件或框架,如Java的Commons FileUpload,及Struts1.x,Struts2.x自带的上传文件的功能,另外PHP也有操作文件上传文件的相应方法,利用这些,我们实现文件上传十分容易。但如果我们了解其原理,我相信这种快乐将是无法表达的。

     在客户端我们通常是用表单来上传文件的,通常我们的写法是这样的:  

     <form id="upload_file" name="upload_file" enctype="multipart/form-data" action="upload.jsp">

     <input type="file" id="File" name="File"/>

     <input type="button" value="upload" />

     </form>  

    在这里要注意有几点:

    1、form表单的enctype这里是multipart/form-data, 意思是让form表单的内容以二进制编码的形式提交,这种方式也会把文件域的文件内容封装到请求参数中, 然后接受该请求的servlet用二进制流来获取内容,这样就可以获取上传文件的内容。另外综合查的资料,enctype还有另外两种形式application/x-www-form-urlencoded(这是默认的编码形式,只处理表单域的value属性),和text/plain(可以直接通过表单发送邮件的方式)

    2、 

 

 

参考资料:

                1)    http://www.crazycoder.cn/mypdf/1487.pdf;

                2)    http://www.htmlhelp.com/reference/html40/forms/form.html;

                3)    http://blog.csdn.net/feng_sundy/archive/2005/05/20/377002.aspx;

                4)     http://bluelzx.iteye.com/blog/195264;

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

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

    ##### (一)Form表单上传文件规范 1. **表单元素**:通常包含`&lt;input type="file"&gt;`用于选择文件,以及其他如文本框、按钮等用于收集其他信息。 2. **MIME类型**:表单的`enctype`属性必须设置为`multipart/form...

    C#webapi文件上传下载源码

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Web应用程序时,如WebAPI。...通过研究这些源码,开发者可以深入理解WebAPI的工作原理,以及如何在实际项目中安全、高效地处理文件上传和下载。

    c++实现向web服务器上传文件

    本文将深入探讨如何使用C++实现向Web服务器上传文件,特别是在VS2013环境下,以及与Java Web工程的交互。 首先,我们要了解HTTP协议中的POST方法。在Web应用中,POST请求常用于提交数据到服务器进行处理,例如当...

    基于web的上传文件案例

    首先,我们要理解Web上传文件的基本原理。传统的HTTP表单提交方式在处理大文件时可能会遇到问题,因为它们通常不支持断点续传,且可能导致浏览器崩溃。为了解决这个问题,我们可以采用HTML5中的File API,它提供了对...

    Web文件存储上传.

    上传文件"&gt; ``` 三、服务器端处理 当用户提交表单时,服务器端需要接收并处理这些文件。对于Node.js,可以使用Express框架和multer中间件来处理上传的文件: ```javascript const express = require('express');...

    文件上传原理学习

    - **权限与验证**:服务器需要验证上传文件的安全性,如检查文件类型、大小,防止恶意文件上传。 - **返回响应**:成功接收后,服务器会向客户端返回确认信息,可能包括文件的唯一标识符、存储路径等。 3. **工具...

    web文件上传

    本项目基于Java Web技术,实现了文件从客户端上传到服务器本地的简单流程,这对于初学者理解Web应用程序的工作原理非常有帮助。以下是这个"web文件上传"项目的详细知识点解析: 1. **JSP(JavaServer Pages)**:...

    C#编写的Web大文件上传代码

    1. 分块上传原理:大文件被分成多个小块(chunks),每个块单独上传。这样做的好处是可以降低服务器内存压力,并且如果网络连接中断,只需要重新上传未完成的部分,提高了上传的可靠性。 2. C#实现:在C#中,我们...

    web方式通过flash批量上传文件

    在Web开发中,批量上传文件是一项常见的需求,尤其在处理大量图片、文档或者视频时,传统的单个文件上传方式效率低下。"Web方式通过Flash批量上传文件"是一种解决方法,它利用了Adobe Flash技术来实现多文件同时上传...

    web 多文件上传

    为了限制上传文件的个数、大小和类型,可以在用户选择文件后立即进行检查。例如,限制最多上传5个文件,每个文件不超过10MB,只允许上传jpg、png和pdf文件。 ```javascript function checkFileValidity(files) { ...

    Struts2.0文件上传原理

    Struts2.0文件上传原理主要涉及Web应用中处理用户上传文件的功能,这一过程涉及到多个步骤和技术,包括HTTP协议、Multipart/form-data编码、临时文件存储以及后台处理。以下是对Struts2.0文件上传原理的详细解释: ...

    web安全技术-实验六、文件上传漏洞.doc

    【文件上传漏洞】是Web应用安全领域中的一个重要概念,它主要出现在允许用户上传文件到服务器的应用程序中。当系统没有正确地验证或过滤上传的文件类型时,攻击者可以利用这个漏洞上传恶意代码,例如病毒、木马或者...

    web中如何上传文件概述

    在探讨“web中如何上传文件概述”的主题时,我们深入解析了文件上传这一核心功能在Web应用中的实现机制。文件上传是Web开发中常见的需求,无论是用户上传个人照片、文档,还是进行数据交换,文件上传功能都扮演着至...

    用C井实现Web文件的上传.rar_C# web 上传_C# 上传_web 文件上传

    首先,我们需要理解Web上传的基本原理。在HTTP协议中,文件上传通常通过POST请求进行,其中包含一个multipart/form-data编码的表单数据。这种编码方式允许我们将文件内容作为二进制数据传输,同时还可以传递其他表单...

    web应用文件上传下载

    本文将深入探讨如何实现这一功能,主要关注文件上传和下载的基本原理,以及`smartupload`这一可能使用的上传组件。 首先,我们要理解文件上传的基本流程。在Web应用中,当用户选择本地文件并提交表单时,浏览器会将...

    web服务器文件上传下载工具

    在Web开发过程中,文件上传和下载是不可或缺的功能。"web服务器文件上传下载工具"就是针对这一需求设计的软件,特别适合初学者使用。这个工具可能包含了一种或多种技术,如HTML、FTP等,这些都是Web开发的基础部分。...

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

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

    web项目支持大文件上传的代码

    在Web开发中,大文件上传是一项常见的需求,尤其是在多媒体内容分享、数据备份或者企业级应用中。本项目提供了一种纯JSP实现的解决方案,旨在帮助开发者轻松地将大文件上传功能集成到自己的Web应用程序中。以下是这...

    Asp.net_WEB 版 WebUploader大文件上传带进度条

    【ASP.NET Web版 WebUploader大文件上传带进度条】是一个针对ASP.NET 4.0 Web应用程序的文件上传解决方案,特别适合处理大文件并提供实时的上传进度反馈。WebUploader是一款前端JavaScript库,它允许用户在浏览器端...

Global site tag (gtag.js) - Google Analytics