郭建栋ID:gjd111686
158421次访问,排名466好友0人,关注者2
gjd111686的文章
原创 191 篇
翻译 0 篇
转载 0 篇
评论 69 篇
数字金刚的公告
数字金刚

日本人与台独分子禁止入内


郭煜,字建栋.别号冷冰、数字金刚. 赵国人.并州太原府代州[今山西省五台山北台顶]. 乙亥年甲申闯关东至盛京[今辽宁省沈阳]已九载.
最近评论
vvukqr:WoW Gold
komelio:很niuB的代码
mrli12:和我想法一样,通用!!~ :-)
不过这么写实在繁琐,要进一步改进,最好能将bean直接引入,通过接口,最好是设计成用xml文件映射的,这样输入什么对象,出什么图形在里面都定义好了,直接就出来了,哪位高手有时间研究研究!?
独侠:import org.jfree.data.xy.SignalsDataset
好像JAR里面没有这个类,运行出错
binbin:可否请教一下,pdflib是怎样生成表格的?no.credit@gmail.com
文章分类
收藏
    相册
    帮助资源
    个人素描
    杀手锏
    资源图片
    铁血民族
    民族魂:网上人民英雄纪念碑(RSS)
    推荐经典
    CodeGuru
    CodeProject
    VC知识库
    中国标准XML
    软件工程专家网
    问专家
    仪器仪表
    21IC中国电子网
    中华工控网
    中国自动化网
    仪器仪表商情网
    传感器世界
    自家小院
    挚友链接
    数字金刚
    存档
    软件项目交易
    订阅我的博客
    XML聚合  FeedSky
    订阅到鲜果
    订阅到Google
    订阅到抓虾
    订阅到BlogLines
    订阅到Yahoo
    订阅到GouGou
    订阅到飞鸽
    订阅到Rojo
    订阅到newsgator
    订阅到netvibes

    原创 用JSP分析multipart/form-data基于表单的文件上传收藏

    新一篇: 基于Tomcat+Oracle的应用程序安装配置手册 | 旧一篇: Web上JS利用XMLHTTP实现下载

    <%
     int iTotalByte,iTotalRead,iReadByte;
     iTotalByte=request.getContentLength(); 
     iTotalRead=0;
     iReadByte=0;
     byte[] Buffer=new byte[iTotalByte];
     if(iTotalByte>0)
     {
      for(;iTotalRead<iTotalByte;iTotalRead+=iReadByte)
      {
       try
       {
    iReadByte=request.getInputStream().read(Buffer,iTotalRead,iTotalByte-iTotalRead);
       }
       catch(Exception e)
       {
        e.printStackTrace();
       }
      }
      String strContentType=request.getContentType();
      //数据处理开始
      String strBuffer=new String(Buffer);
      %><!--<br>表单数据:<br>strBuffer<br>--><%
      String strBoundary="--"+strContentType.substring(strContentType.lastIndexOf("=")+1,strContentType.length());
      String strArray[]=strBuffer.split(strBoundary);

      String strSubString;
      int iBegin,iEnd;
      iBegin=0;iEnd=0;
      String strFieldName="";
      String strFieldValue="";
      String strFilePath="";
      String strFileName="";
      String strFileType="";
      boolean bTrue;
      bTrue=false;
      int iLocation=0;
      for(int iIndex=1;iIndex<strArray.length-1;iIndex++)
      {
       strSubString=strArray[iIndex];
       iBegin=strSubString.indexOf("name=\"",0);
       if(iBegin!=-1)
       {
        strFieldName="";strFieldValue="";
        strFilePath="";strFileName="";strFileType="";
        iEnd=strSubString.indexOf("\"",iBegin+6);
        strFieldName=strSubString.substring(iBegin+6,iEnd);
        iBegin=strSubString.indexOf("filename=\"",0);        if(iBegin!=-1)
        {
         bTrue=true;
        }
        iEnd=strSubString.indexOf("\r\n\r\n",0);
        if(bTrue==true)
        {
         //文件路径
         strFilePath=strSubString.substring(iBegin+10,strSubString.indexOf("\"",iBegin+10));strFileName=strFilePath.substring(strFilePath.lastIndexOf("\\")+1);
         strFileType=strSubString.substring(strSubString.indexOf("Content-Type: ")+14,strSubString.indexOf("\r\n\r\n"));
         %><!--<br>文件类型:<br>strFileType<br>--><%
         //文件数据
         iBegin=strSubString.indexOf("\r\n\r\n",iBegin);
         strFieldValue=strSubString.substring(iBegin+4);
         strFieldValue=strFieldValue.substring(0,strFieldValue.lastIndexOf("\n")-1);
         %><!--<br>文件路径:<br>strFilePath<br>文件名称:<br>strFileName<br>--><%
         byte[] pFile=strFieldValue.getBytes();
         byte[] pFileExtend=new byte[pFile.length];
         iLocation=strBuffer.indexOf("filename=\"",iLocation);
         for(int kIndex=iLocation;kIndex<iTotalByte-2;kIndex++)
         {
          if(Buffer[kIndex]==13&&Buffer[kIndex+2]==13)
          {iLocation=kIndex+4;break;}
         }
         for(int nIndex=0;nIndex<pFile.length;nIndex++)
         {
          pFileExtend[nIndex]=Buffer[iLocation+nIndex];
         }
    /*
    //保存到Local Disk;
    FileOutputStream pFileOutputStream=new FileOutputStream("F:\\Site_App\\UploadFile\\"+strFileName);
    pFileOutputStream.write(pFileExtend);
    pFileOutputStream.close();
    */
         session.putValue(strFieldName+"_FileType",strFileType);
         session.putValue(strFieldName+"_FilePath",strFilePath);
         session.putValue(strFieldName+"_FileName",strFileName);
         session.putValue(strFieldName,pFileExtend);
        }
        else
        {
         strFieldValue=strSubString.substring(iEnd+4);
         strFieldValue=strFieldValue.substring(0,strFieldValue.lastIndexOf("\n")-1);
    session.putValue(strFieldName,strFieldValue);
        }
        bTrue=false;
       }
       %><!--<br>表单域名:<br>strFieldName<br>表单域值:<br>strFieldValue<br>--><%
      }
      //数据处理结束
     }
    %>

    这样(String)session.getValue("表单域名")返回表单域值,而(byte[])session.getValue("File上传控件域名")返回的字节数组就可以用new ByteArrayInputStream(byte[])调用updateBinaryStream来更新到数据库了

    发表于 @ 2004年08月18日 17:21:00|评论(loading...)|编辑

    新一篇: 基于Tomcat+Oracle的应用程序安装配置手册 | 旧一篇: Web上JS利用XMLHTTP实现下载

    评论

    #fans 发表于2004-09-20 19:24:00  IP: 221.218.18.*
    抄的挺全呀。
    #ytalk 发表于2004-09-22 17:56:00  IP: 221.204.56.*
    你是五台人啊
    我是定襄的
    qq:7884586
    #丰丰 发表于2004-12-03 09:59:00  IP: 218.19.218.*
    真的很有用
    发表评论  


    当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
    Csdn Blog version 3.1a
    Copyright © 数字金刚