`

struts2 文件上传属性 enctype

阅读更多

文件上传的原理:
表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值:
1)      application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性值,采用这种编码方式的表单会将表单域的值处理成URL编码方式。
2)      multipart/form-data:这种编码方式的表单会以二进制流的方式来处理表单数据,这种编码方式会把文件域指定文件的内容也封装到请求参数里。
3)      text/plain:这种方式主要适用于直接通过表单发送邮件的方式。
文件上传是web应用经常用到的一个知识。原理是,通过为表单元素设置enctype="multipart/form-data"属性,让表单提交的数据以二进制编码的方式提交,在接收此请求的Servlet中用二进制流来获取内容,就可以取得上传文件的内容,从而实现文件的上传。
在Java领域中,有两个常用的文件上传项目:一个是Apache组织Jakarta的Common-FileUpload组件(http://commons.apache.org/fileupload/),另一个是Oreilly组织的COS框架(http://www.servlets.com/cos/)。利用这两个框架都能很方便的实现文件的上传。
2.    Struts2的文件上传:
Struts2并未提供自己的请求解析器,也就是就Struts2不会自己去处理multipart/form-data的请求,它需要调用其他请求解析器,将HTTP请求中的表单域解析出来。但Struts2在原有的上传解析器基础上做了进一步封装,更进一步简化了文件上传。
Struts2默认使用的是Jakarta的Common-FileUpload框架来上传文件,因此,要在web应用中增加两个Jar文件:commons- fileupload-1.2.jar和commons-io-1.3.1.jar。它在原上传框架上做了进一步封装,简化了文件上传的代码实现,取消了不同上传框架上的编程差异。
如果要改成其它的文件上传框架,可以修改struts.multipart.parser常量的值为cos/pell,默认值是jakata。并在classpath中增加相应上传组件的类

分享到:
评论

相关推荐

    struts2文件上传下载

    struts2文件上传与下载, <s:form name="Myform" action="/fileManage/upload" method="post" enctype="multipart/form-data" theme="simple" > <s:fielderror></s:fielderror> 文件"></s:file> ...

    struts2中的文件上传和下载

    2.其次JSP页面中的文件上传控件所在的form必须设置属性enctype="multipart/form-data" 3.再次,struts2中文件上传将底层高度封装了。在使用时只需要在ACTION中添加三个字段(其中 List<File> files为必填项),...

    struts2文件上传

    利用struts2上传文件 环境配置JDK1.8 Eclipse 版本 Version: Mars Release (4.5.0) tomcat版本7.0.40 注意的问题是文件上传的时候的enctype="multipart/form-data" 如果设置错误会报错 今天初次使用Struts 2做文件...

    Struts2文件的上传和下载

    Struts2中的文件的上传和下载 1. 文件上传的原理: 表单元素的enctype属性指定的是表单数据的编码方式,该属性有3个值: 1) application/x-www-form-urlencoded:这是默认编码方式,它只处理表单域里的value属性...

    上传文件fileupload+解决enctype= multipart/form-data无法传递其他参数

    解决上传文件enctype= multipart/form-data 时无法传递其他参数的问题,以及项目全局编码问题。用的插件是commons io + commons fileupload

    PHP与Web页面交互 -文件上传和下载.ppt

    另外,还需要增加上传的属性enctype= “multipart/form-data”,该属性说明浏览器可以提供文件上传功能。 2.编写处理表单提交的PHP脚本 当用户通过上传表单选择一个文件并提交后,PHP会自动生成一个$_FILES的二维...

    基于java的企业级应用开发:文件上传和下载.ppt

    另外,还需要增加上传的属性enctype= “multipart/form-data”,该属性说明浏览器可以提供文件上传功能。 2.编写处理表单提交的PHP脚本 当用户通过上传表单选择一个文件并提交后,PHP会自动生成一个$_FILES的二维...

    struts1.x上传实例

    2.struts-config.xml文件配置 <form-bean name="actionForm" type="org.apache.struts.action.DynaActionForm"> <form-property name = "filedata" type = "org.apache.struts.upload.FormFile" /> ...

    解决java enctype multipart form-data文件上传传值问题

    解决java enctype multipart form-data文件上传传值问题 不使用jspsmartupload组件 可以轻轻松松 解决传值问题

    AjaxFileUpload+Struts2实现多文件上传功能

    本文重点给大家介绍AjaxFileUpload+Struts2实现多文件上传功能,具体实现代码大家参考下本文。 单文件和多文件的实现区别主要修改两点, 一是插件ajaxfileupload.js里接收file文件ID的方式 二是后台action是数组形式...

    文件上传指南pdf

    文件上传要求客户端必须用 Post 方式提交数据,并且在 form 标签的 enctype 属性值必 须为: "multipart/form-data" ,表示本次请求可以上传文件,该属性的默认值是 "application/x-www-form-urlencoded"。Html 标签...

    web开发文件的上传和下载

    1、必须要设置input输入项的name属性,否则浏览器将不会发送上传文件的数据。 2、必须把form的enctype属值设为multipart/form-data.设置该值后,浏览器在上传文件时,将把文件数据附带在http请求消息体中,并使用...

    servlet上传 enctype="multipart/form-data"

    servlet上传 enctype="multipart/form-data" servlet上传 enctype="multipart/form-data

    Django框架文件上传与自定义图片上传路径、上传文件名操作分析

    本文实例讲述了Django框架文件上传与自定义图片上传路径、上传文件名操作。分享给大家供大家参考,具体如下: 文件上传 1、创建上传文件夹 在static文件夹下创建uploads用于存储接收上传的文件 在settings中配置, ...

    用ssh实现图片上传

    详细的资料上传ssh代码在页面上写上struts的文件标签,注意enctype="multipart/form-data" method="post",action里要求有3个属性 private File file; private String fileContentType; private String ...

    jsp文件上传下载通用包

    当表单需要上传文件时,需指定表单 enctype 的值为 multipart/form-data 在 form 元素的语法中,enctype 属性指定将数据发送到服务器时浏览器使用的编码类型。 enctype 属性取值: application/x-...

    用PHP文件上传的具体思路及实现

    文件上传我们需要用到HTML里面表单的type=file类型,及其enctype属性。当然了PHP函数库当中的FILE函数库,字符串类型函数库,目录函数库及$_FILES[]的使用是我们必须要用到的。也许每一个站点都可能会对上传文件有...

    AjaxFileUpload结合Struts2实现多文件上传(动态添加文件上传框)

    2、获取文件上传框的ID 3、ajaxfileupload.js里将ID数组转换为需要的Object数组 依次解决上面问题 一、实现动态添加删除文件上传框 <body> <form action="" enctype="multipart/form-data"> <h2>

    Java课程实验 Spring Boot 文件上传与下载(源代码+实验报告)

    在表单中使用enctype="multipart/form-data"属性来指定文件上传的编码类型 文件下载: 1.配置文件下载的控制器(Controller): 创建一个控制器来处理文件下载的请求。控制器可以使用@GetMapping注解来处理GET请求,...

    Spring下的子框架SpringMVC实现多文件上传完整代码

    3、表单的enctype属性是:enctype=“multipart/form-data” 选择了一个文件,点击上传,我们会把这个请求提交,选择了文件,把所有的内容封装到request域对象中,点击提交,后台会先经过前端控制器。dispatcher 前端...

Global site tag (gtag.js) - Google Analytics