南京北大青鸟
北大青鸟中博大学生专区 南京北大青鸟高中生专区 北大青鸟南京中专生专区 南京中博待业者专区 北大青鸟在职者专区
 
在线咨询
 
 
 
中心简介
校区简介
校区环境
周边景点
关于北大青鸟
特色优势
常见问题解答
网站地图
 
 
ACCP软件工程师课程
什么是ACCP
ACCP6.0课程介绍
各课程定位与介绍
各阶段课程
教学模式
ACCP6.0课程体系
ACCP6.0认证证书
 
 
  开班信息  
 
 
讲座试听
 
您的位置:首页 - 编程技巧 - 阅读信息
使用COS完成文件上传
作者:马志国  出处:中博IT教育  日期:2011-03-25
COS是oreilly组织下的一个小项目,该项目同样可以将multipart/form-data类型请求中的各种表单域解析出来。相对而言,它比Common-FileUpload更加方便

一、获得资源

COSoreilly组织下的一个小项目,该项目同样可以将multipart/form-data类型请求中的各种表单域解析出来。相对而言,它比Common-FileUpload更加方便

二、开发准备

创建Web Project

lib\cos.jar复制到/WEB-INF/lib路径下,即可在Web项目中使用COS来完成上传

三、编码模型

<%@ page contentType="text/html; charset=GBK"%>

<%@ page import="com.oreilly.servlet.multipart.MultipartParser"%>

<%@ page import="com.oreilly.servlet.multipart.Part"%>

<%@ page import="com.oreilly.servlet.multipart.ParamPart"%>

<%@ page import="com.oreilly.servlet.multipart.FilePart"%>

<%@ page import="java.io.File"%>

 

<%

    //设置POST请求的内容最大字节为10M,该类用于解析HTTP请求

    MultipartParser mp = new MultipartParser(request, 10 * 1024 * 1024);

    mp.setEncoding("GBK");

    //所有表单域都是Part实例

    Part part = mp.readNextPart();

    //遍历请求中的所有表单域

    while (part != null) {

       //取得表单域的name属性值

       String name = part.getName();

       //对于普通表单域

       if (part.isParam()) {

           //取得普通表单域的值

           ParamPart paramPart = (ParamPart) part;

           String value = paramPart.getStringValue();

           out.println(name + " = " + value + "<br/>");

           part = mp.readNextPart();

       }

       //对于文件域

       else if (part.isFile()) {

           //取得文件上传域

           FilePart filePart = (FilePart) part;

           String fileName = filePart.getFileName();

           if (fileName != null) {

              //输出文件内容

              long size = filePart.writeTo(new File(request

                      .getSession().getServletContext().getRealPath(

                            "/")));

              out.println(name + " = " + fileName + "<br/>");

              out.println("文件路径:" + filePart.getFilePath() + "<br/>");

              out.println("内容类型:" + filePart.getContentType()

                     + "<br/>");

              out.println("文件大小:" + size);

           }

           //文件名为空

           else {

              //该文件域没有输入文件名

              out.println("文件域没有输入文件名");

           }

           out.flush();

           part = mp.readNextPart();

       }

    }

%>

返 回
下一篇:使用Common-FileUpload完成文件上传
相关新闻
苹果iOS4.1预计8日发布 增高清视频上传功能
用最短的时间,完成更多最容易的事
全力以赴地完成手边的任务
北大青鸟南京中博:C#文件粉碎机原理与实现
学会使用时间
 
中博教育客服在线
 
©南京北大青鸟 隐私政策


学费咨询
学历咨询
专业咨询
订座试听
就业咨询
课程咨询
测试认证
软件认证