apache commons fileupload 1.3.1(一)Mime部分

来源:互联网 发布:mysql 生成连续数字 编辑:程序博客网 时间:2024/05/17 04:06

近段时间,对apache commons fileupload的源码做了深入的了解,在此把一些见解与大家分享。

今天就简介一下commons fileupload的Mime部分。


可能有人奇怪为什么fileupload会需要用到MIME,首先我们介绍一些MIME:

MIME(Multipurpose Internet Mail Extensions)多用途互联网邮件扩展类型。是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。

简单来说,MIME就是用来说明上传的文件是什么格式的。刚开始的时候MIME被用于邮件(九十年代),后台被用于各种需要说明文件格式的地方,上传文件就是如此。


MIME工具类只有四个类,比较简单:

org.apache.commons.fileupload.util.mime.MimeUtility

该类是对符合MIME规范的字符串进行处理的工具类,MIME规范使用Base64与可打印字符引用(QuotedPrintable)进行编码,在解析的过程中会判断当前字符串是使用了哪一种方式进行编码,然后去调用Base64DecoderQuotedPrintableDecoder进行解析。


org.apache.commons.fileupload.util.mime.ParseException

当出现MIME解析错误时会抛出该异常。


org.apache.commons.fileupload.util.mime.Base64Decoder

该类是使用Base64进行编码的MIME进行解码的工具类,其解码完了之后将结果发送到输出流中。


org.apache.commons.fileupload.util.mime.QuotedPrintableDecoder

该类是使用可打印字符引用(QuotedPrintable)进行编码的MIME进行解码的工具类,可打印字符引用是将那些不可打印的ASCII字符转换为可打印的方式进行编码。其解码完了之后将结果发送到输出流中。




ONE FOR IT是一个呆萌CTO打理的资讯读物,每天只为你准备一篇IT行业新鲜资讯。互联网的前沿,一篇就够了。(ID:OFI)



0 0
原创粉丝点击