六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 39|回复: 0

api接口简明,比Apache Common File Upload速度快、稳定性高,无需任何第三方库的上传组建

[复制链接]

升级  90.67%

56

主题

56

主题

56

主题

秀才

Rank: 2

积分
186
 楼主| 发表于 2013-2-3 12:20:15 | 显示全部楼层 |阅读模式
fastupload根据RFC 1867文档规范,编写的基于表单文件上传的组件,支持表单多文件上传,二进制文件与文本文件分开处理,彻底解决上传文本文 件编码问题,支持文件上传大小限制,支持文件上传进度计算,api接口简明,比Apache Common File Upload速度快、稳定性高,无需任何第三方库的支持。

完整的功能列表:
    1.    支持上传多个文件
    2.    支持sub-boundary
    3.    提供“一次性”的编码解决方案
    4.    支持单个上传文件大小限制,支持上传请求大小限制
    5.    支持文件上传进度
    6.    速度快,内存占用小,稳定性高

在fast upload 0.31版本中,增加了HttpMemoryUploadParser类,对multipart/form-data请求中非文件类型的数据处理,这个类处理上传请求是Apache Common File Upload的3~4倍。

快速上手:
新增加的HttpMemoryUploadParser的用法,

//以UTF8编码创建内存数据工厂        MultiPartDataFactory mpdf = new MemoryMultiPartDataFactory("utf-8");        HttpMemoryUploadParser uploadParser = new HttpMemoryUploadParser(request, mpdf);  //创建HttpMemoryUploadParser对象                 List<MultiPartData> list = uploadParser.parseList();  // 解析请求        //预先创建保存文件的路径        File dir = new File(System.getProperty("user.home") + "/memoryupload/dump");        dir.mkdirs();        for (MultiPartData e : list) {            String target = String.format("%s/%s", dir.getAbsolutePath(), e.getFileName());            if (e.isFile()) {  //如果是文件,保存到制定目录,否则,打印出来                e.toFile(target);            }            else {                System.out.println(new String(e.getContentBuffer()));            }        }


//以UTF8编码,创建DiskFileFactory,指定文件保存的路径用当前用户的home目录        DiskFileFactory dff = new DiskFileFactory(System.getProperty("user.home") + "/fastupload/", "utf-8");        HttpFileUploadParser parser = new HttpFileUploadParser(request, dff);        parser.parse();  //解析,并保存文件到dff对象所指定的目录下
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表