当前位置:  技术问答>java相关

高分索取upload和download的源代码

    来源: 互联网  发布时间:2015-01-20

    本文导语:  最近开发网站时出现了,不能实现upload和download功能,有谁帮帮忙啊,我一定重谢啊,谢谢先! qq:4579751 email:olvest198@elong.com | 拷了一个upload,自己看看,download太简单了吧,就懒得写了 /*  里...

最近开发网站时出现了,不能实现upload和download功能,有谁帮帮忙啊,我一定重谢啊,谢谢先!
qq:4579751
email:olvest198@elong.com

|
拷了一个upload,自己看看,download太简单了吧,就懒得写了

/* 
里面有不少bug,try your best 
good luck 

Demo_upload使用说明 
html 文件 
upload.java 文件 
RFC 文档 
*/ 
/* 
Demo_upload使用说明 

Demo_upload.html 
使用Form中的TYPE=file来提交文件,一个提交一个文件
, 
使用多个可以提交多个文件,提交之后文件被在D:Jav
aWebServer2.0servletsfile 
目录下以原有文件名存储。对于其他TYPE类型的INPUT在SERVLET中不做处理仅仅
将其name和value在浏览器上 
显示出来。 
*Form的描述METHOD必须是POST,ENCTYPE必须是"multipart/form-data" 
例: 

Demo_upload.class(Servlet) 
放于相应Web的Servlet目录下,由Form的submit激活。 
详细程序流程见RFC文档:Request For Comments: 1867 和 upload.java程序中
的注释。 
*/ 
/* 
 
UpLoad File 
 
 

 

File:  

 

File:  

 
 
 
 
 
*/ 
//* 
//------- 
//- 
//- upload.java 
//- 
//- Author:   AR Williamson 
//- Date:   May 1998 
//- Copyright:  Maybe used for non-commercial use. 
//- 
//------- 

import java.io.*; 
import javax.servlet.*; 
import javax.servlet.http.*; 

public class upload extends HttpServlet { 
     
  public void doPost( HttpServletRequest _req, HttpServletResponse _re
s ) throws ServletException, IOException{ 

    parseMultiForm pMF = new parseMultiForm( _req ); 

    String param; 
    while ( (param = pMF.getNextParameter()) != null ){ 
      if ( param.equalsIgnoreCase("USERFILE") ){ 
        FileOutputStream OutFile = new FileOutputStream( pMF.getFilena
me() ); 
        pMF.getParameter( OutFile ); 
        OutFile.close(); 
      }else{ 
        System.out.println( "Key  : " + param ); 
        System.out.println( "Value: " + pMF.getParameter() );    
      } 
    } 
    _res.setStatus( HttpServletResponse.SC_NO_CONTENT ); 
  } 


class parseMultiForm extends java.lang.Object { 
  private ServletInputStream In; 
  private byte buffer[] = new byte[4096]; 
  private String delimitor = null; 
  private String filename=null; 

  public parseMultiForm( ServletRequest _req ) throws IOException{ 
    In  = _req.getInputStream(); 
    delimitor   = _req.getContentType(); 
    if ( delimitor.indexOf("boundary=") != -1 ){ 
      delimitor = delimitor.substring( delimitor.indexOf("boundary=")+
9, delimitor.length() );                 
      delimitor = "--" + delimitor; 
    } 
  } 

  private String readLine(){ 
    try{ 
      int noData = In.readLine( buffer, 0, buffer.length ); 
      if ( noData != -1 ) 
        return new String( buffer, 0, noData, "ISO-8859-1"); 
    }catch(Exception E){} 
    return null; 
  } 

  void test() throws IOException{ 
    String LineIn; 
    while( (LineIn=readLine()) != null ) 
      System.out.println( LineIn  ); 
  } 

  public String getFilename(){ 
    return filename; 
  } 

  public String getParameter(){ 
    return readLine(); 
  } 

  public String getNextParameter() { 
    try{ 
      String LineIn=null, paramName=null; 

      while ( (LineIn=readLine()) != null ){ 
        if ( LineIn.indexOf( "name=" ) != -1 ){ 
          int c1 = LineIn.indexOf( "name=" ); 
          int c2 = LineIn.indexOf( """, c1+6 ); 
          paramName = LineIn.substring( c1+6, c2 );  
           
          if ( LineIn.indexOf( "filename=") != -1 ){ 
            c1 = LineIn.indexOf( "filename=" ); 
            c2 = LineIn.indexOf( """, c1+10 ); 
            filename = LineIn.substring( c1+10, c2 ); 
            if ( filename.lastIndexOf( "\" ) != -1 ) 
              filename = filename.substring( filename.lastIndexOf( "" )+1 ); 

            if ( filename.length() == 0 ) 
              filename = null; 
          } 

          //- Move the pointer to the start of the data 
          LineIn = readLine(); 
          if ( LineIn.indexOf( "Content-Type" ) != -1 ) 
            LineIn = readLine(); 

          return paramName; 
        } 
      } 
    } 
    catch( Exception E ){} 
    return null; 
  } 

  public boolean getParameter( OutputStream _Out ){ 
    try{ 
        int noData; 
        while ( (noData=In.readLine(buffer,0,buffer.length)) != -1 ){ 

          if ( buffer[0] == '-' ){ 
            if ( new String( buffer, 0, noData, "ISO-8859-1").indexOf(
delimitor) == 0 ) 
              break; 
          }else 
            _Out.write( buffer, 0, noData );                     
        } 
         
        _Out.flush(); 
      return true; 
    } 
    catch( Exception E ){ 
      System.out.println( E  ); 
    } 

    return false; 
  } 



    
 
 

您可能感兴趣的文章:

  • 高分请教!Netscape浏览器的源代码公开了吗?从那里可以得到For linux的源代码?
  • 高分寻求JSP/Servlet写的聊天室源代码?请各位高手帮忙!
  • 谁有最早版本的LINUX源代码?能发给我一份吗?高分求救啊……我真的很需要最早的一些版本的源代码的!
  • 高分请教:redhat 的各种应用程序源代码放在哪儿?
  • 高分求画流程图的java 源代码
  • -----高分求Chinaren聊天室源代码!---------
  • [高分相送200] 谁有linux下socket编写的发送文件源代码?(解决另开贴)
  • 小弟高分求“Linux 0.02版”的源代码!
  • minix里的exec函数的源代码分析谁做过? 高分求购!
  • 高分求sco unix5.0.4源代码比较简单
  • linux tftp-proxy 源代码谁有,有做过的吗,请给兄弟指点迷津,高分感谢
  • 关于正版光盘里的源代码问题?  高分相送!!
  • 请推荐一些精灵进程编程的书籍,最好电子书籍,或者提供源代码,高分
  • 急,急,急!!!高分求购java实现动态树型菜单的源代码
  • 高分征求Linux内核的源代码!!!!!!!!!!!!!(最好给个具体的网址,可以直接下)
  • 求上传和下载的JSP源代码,高分相送,最好没有bean的
  • 高分求教!!!正方形框点击变色的源代码。。。由于本人对java一窍不通,朋友又等着救命,大侠help!!
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 高分求助高分求助高分求助高分求助高分求助高分求助
  • 谁参加过weblogic的证书考试,是否有经验可供参考?高分高分高高分
  • 哪里有JB6下载啊,高分相送,救命
  • 高分求救!我在uclinux上运行应用程序时出现内存分配错误,不知如何解决,解决者高分!!
  • 哪里去找中文的EJB文章?高分悬赏!
  • 有jsp的upload和download 代码么,高分相报!
  • (高分求助)请问,那里有软件开发的<设计文档>
  • 高分寻求jsp代码(网上调查系统,新闻发布系统)就这点分了
  • 高分求购做饼图、线形图的源吗?
  • 关于linu下的中文输入.(高分:300)
  • 一个简单的问题,高分求助!!!
  • 高分求购jbulider6得注册码,企业版本,个人版本都要
  • Linux远程访问的问题,高分求教:)
  • 请问哪儿有Solaris8的光盘映像文件下载???高分相赠!!!
  • 高分求“Ration Rose”&"JBuilder6.0"&"VisualCafe"
  • VJ的一个问题,高分求助,熟悉VJ得请进!
  • 高分求购:linux和unix命令大全电子文档
  • 急救:关于BLOB数据类型---在线等待,高分相送!
  • 求UNIXWARE7.11的原版下载,高分相赠,在线等待!!!
  • 关于java?高分相送!


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3