`
desert3
  • 浏览: 2159131 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

Mime form表单 enctype charset enconding

 
阅读更多
html form POST提交时,enctype默认属性值是application/x-www-form-urlencoded
如果要上传文件,必须把属性设置成enctype="multipart/form-data"

enctype管理的是form的MIME类型,总共有3种可能值
  • application/x-www-form-urlencoded (默认值) 传输的是HTML表单值HTTP传输是以字节为单位?
  • multipart/form-data 传输文件 2进制传输,比如图片或者mp3等等 HTTP传输是以位0或者1为单位?
  • text/plain 传输纯文本 HTTP传输是以字节为单位?

在相应的Request的表头中,对应参数是Content-Type:application/x-www-form-urlencoded; charset=UTF-8 这里同时指定了上传内容的字符编码charset。

MIME,它的英文全称是"Multipurpose Internet Mail Extensions" 多功能Internet 邮件扩充服务,它是一种多用途网际邮件扩充协议,在1992年最早应用于电子邮件系统,但后来也应用到浏览器。服务器会将它们发送的多媒体数据的类型告诉浏览器,而通知手段就是说明该多媒体数据的MIME类型,从而让浏览器知道接收到的信息哪些是MP3文件,哪些是Shockwave文件等等。服务器将MIME标志符放入传送的数据中来告诉浏览器使用哪种插件读取相关文件。

Internet中有一个专门组织IANA来确认标准的MIME类型,但Internet发展的太快,很多应用程序等不及IANA来确认他们使用的MIME类型为标准类型。因此他们使用在类别中以x-开头的方法标识这个类别还没有成为标准,例如:x-gzip,x-tar等。事实上这些类型运用的很广泛,已经成为了事实标准。只要客户机和服务器共同承认这个MIME类型,即使它是不标准的类型也没有关系,客户程序就能根据MIME类型,采用具体的处理手段来处理数据。而Web服务器和浏览器(包括操作系统)中,缺省都设置了标准的和常见的MIME类型,只有对于不常见的 MIME类型,才需要同时设置服务器和客户浏览器,以进行识别。

常见的MIME类型
    超文本标记语言文本 .html,.html text/html
    普通文本 .txt text/plain
    RTF文本 .rtf application/rtf
    GIF图形 .gif image/gif
    JPEG图形 .jpeg,.jpg image/jpeg
    au声音文件 .au audio/basic
    MIDI音乐文件 mid,.midi audio/midi,audio/x-midi
    RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio
    MPEG文件 .mpg,.mpeg video/mpeg
    AVI文件 .avi video/x-msvideo
    GZIP文件 .gz application/x-gzip
    TAR文件 .tar application/x-tar
分享到:
评论

相关推荐

    崔希凡JavaWeb笔记day22-day24

    - **request.getParameter("xxx")**: 在表单的enctype设置为`multipart/form-data`时,此方法将不再有效。此时它总是返回`null`。 - **ServletInputStream request.getInputStream()**: 包含整个请求的数据,包括...

    jsp文件上传功能的实现

    同时,表单的`enctype`属性必须设置为“multipart/form-data”。 #### 四、`UploadExample.jsp`分析 ```jsp ;charset=gb2312" %> <title><%=application.getServerInfo()%> 上传文件程序应用示例 <form action...

    JSP upload sample

    文件上传通常通过HTML的`<form>`标签实现,其中`enctype`属性设置为`multipart/form-data`,这样浏览器才能正确处理包含文件的表单数据。`<input type="file">`元素用于让用户选择要上传的文件。例如: ```html ...

    JSP上传文件[文].pdf

    - `<form action="doUpload.jsp" method="post" enctype="multipart/form-data">`:这是一个HTML表单,它指定了表单数据应通过POST方法提交,并且需要使用`multipart/form-data`的编码类型来上传文件。 - `...

    PHP文件上传标准代码借鉴.pdf

    - `enctype="multipart/form-data"`是必需的,因为它允许表单包含文件输入字段。 2. **文件输入字段**: - `<input type="file" name="filename">`是用于让用户选择本地文件的字段。`name`属性用于在PHP中识别...

    基于PHP和MySQL的图片上传和显示.pdf

    同时,将表单的 `Method` 属性置为 `Post`,`Enctype` 属性设置为 `multipart/form-data`,`Action` 属性值设置为PHP程序文件名(如 `save-exam.php`)。 保存图片到MySQL数据库 表单内容上传到Web服务器后,需要...

    strus2文件上传下载

    在HTML表单中,如果需要上传文件,form元素的`method`属性应设置为`post`,并且添加`enctype="multipart/form-data"`。这是因为在multipart/form-data编码类型下,表单数据会被分割成多个部分,每个部分包含一个单独...

    struts中文件的上传

    在HTML表单中,我们需要使用`<input type="file">`元素来让用户选择要上传的文件,并通过`enctype="multipart/form-data"`属性指定表单的数据类型,这是文件上传所必需的。提交表单时,数据将以多部分/表单数据的...

    ajax实现文件上传

    - `encType`:设置为 `multipart/form-data`,这是上传文件所需的 MIME 类型。 - `method`:设置为 `POST` 方法,以安全地传输文件数据。 - `target`:指定表单提交后的结果将显示在哪个 iframe 中。 2. **...

    jsp中用于文件上传下载jar包

    <form action="FileUploadServlet" method="post" enctype="multipart/form-data"> </form> ``` 在Servlet中,可以使用以下代码处理文件上传: ```java import org.apache.commons.fileupload.FileItem; ...

    JSP中文乱码解决集锦

    - 文件上传时的乱码(enctype="multipart/form-data")通常需要自定义解析器来处理,因为Servlet API本身不支持设置请求编码。可以使用第三方库如Apache Commons FileUpload或Spring MVC的MultipartFile来处理文件...

    JAVA Web程序设计-3期(KC006) 13-1-3应用jspSmartUpload组件实现文件上传的操作步骤.doc

    - 第8行:创建了一个POST方式的表单,并指定了`enctype`属性为`multipart/form-data`,这是为了支持文件上传。 - 第9行至第24行:使用表格形式展示输入项,包括文件输入框和提交按钮。 4. **编写JSP处理文件** ...

    JSP乱码 N种解决方案

    - 当用户通过表单提交数据时,确保表单的`enctype`属性设置为`application/x-www-form-urlencoded;charset=UTF-8`。 7. **Servlet读取请求参数** - 对于POST请求,需在Servlet中手动设置请求的编码,如`request....

    7月20日志--文件上传下载乱码

    - **表单编码**:在HTML表单中,`<form>`标签有一个`enctype`属性,用于指定数据编码类型,通常是`application/x-www-form-urlencoded`或`multipart/form-data`。对于文件上传,后者是必须的。 - **后端处理**:...

    jsp实现文件上传下载的程序示例.docx

    - `enctype` 属性需设为 `multipart/form-data`。这是因为文件数据通常较大且包含二进制内容,这种方式能确保数据以正确的格式传输。 例如: ```html <form action="file?file=upload" method="post" enctype=...

    简单的servlet+jsp图片上传并显示图片解压就可用

    <form action="upload" method="post" enctype="multipart/form-data"> *" /> </form> ``` 在这个JSP页面中,我们创建了一个`<form>`元素,设置了`enctype`属性为`multipart/form-data`,这是处理文件上传所...

    jsp图片上传与下载

    <form action="upload.jsp" method="post" enctype="multipart/form-data"> *"> 上传"> </form> ``` #### 1.2 JSP处理 在服务器端,我们使用`Part`接口处理上传的文件。JSP页面`upload.jsp`中,可以使用Servlet ...

    上传文件

    当表单提交时,浏览器会将选定的文件打包成多部分的MIME格式数据,然后发送给服务器。 在Python中,我们可以使用Flask这样的轻量级Web框架来接收并处理这些文件。Flask提供了方便的接口来解析多部分表单数据,包括...

    浅谈PHP接收POST数据方式

    这个变量仅在PHP遇到未识别的MIME类型数据时产生,例如,对于enctype="multipart/form-data"的表单数据,这个变量是不可用的。即,使用$HTTP_RAW_POST_DATA无法接收通过enctype="multipart/form-data"上传的文件数据...

Global site tag (gtag.js) - Google Analytics