jspsmartupload可以满足你的需要,自己找找吧:)

解决方案 »

  1.   

    //sctp.jsp
      <form name="form1" method="post" action="xxfb_add_do.jsp"  enctype="multipart/form-data">
    <table width="75%"  border="0" align="center" cellpadding="0" cellspacing="0" class=table2 bgcolor="#FFFFFF">    <tr> 
          <td align="right">图片:</td>
          <td> 
            <input name="tp" type="file" id="tp" size="57">
          </td>
        </tr>
        <tr align="center" valign="middle"> 
          <td height="30" colspan="2"> 
      <input type="submit" name="tj" value="提交"  class=button>&nbsp; 
            <input type="reset" name="cz" value="重置" class=button>&nbsp; 
          </td>
        </tr>
    </table>
      </form>//sctp_do.jsp
    <%@ page contentType="text/html; charset=gb2312" %>
    <%@ page import="java.sql.*"%>
    <%@ page import="java.util.*"%>
    <%@ page import="cn.com.jspsmart.upload.*"%>
    <%
    conn conn=new conn();
        SmartUpload mySmartUpload =new SmartUpload();
        mySmartUpload.initialize(pageContext);
        Files fs=mySmartUpload.getFiles();
        mySmartUpload.upload();
    String tp=mySmartUpload.getRequest().getParameter("tp");
      File f;
    for (int i=0;i<fs.getCount();i++){
    f=fs.getFile(i);
     String path="/sc/xxfb/";
      if (f.getFileName().length()>0){
         if(i==0){
            String filename="mypic"+f.getFileName().substring(f.getFileName().lastIndexOf("."),f.getFileName().length());
            f.saveAs(path+filename); 
       tp=filename;
                }
      }
    }
    if(tp==null){
    tp="null";
    }
    conn.sqlInsert("insert into xxfb values('"+id+"','"+bt+"','"+tp+"')");
    conn.close();
    %>
      

  2.   

    用fileUpload的吧,网上有原代码
      

  3.   

    现在业内普遍使用的第三方服务器组件主要是jspsmartupload和commonupload。总的感觉是jspsmartuplod比较灵活,功能上很强大,上传的时候把上传文件放到应用服务器内存里,可以大大提高系统的相应能力,但是上传文件的大小会和应用服务器内存有很大关系,只要应用服务器支持JDK1.2.2和JSP1.1即可;commonupload虽然没有提供很多API,但是也比较灵活,上传的过程中会把上传的文件直接写入应用服务器磁盘,经测试可以一次最大上传700M的文件,只要应用服务器支持JDK1.3和JSP1.1即可。二者在应用中都很容易实现,并且也都很稳定,同时能满足多用户高并发的应用环境。
    到目前为止,jspsmartupload已没有升级版,下载此组件的网站也已关闭,但是其源代码已经公开,我们可以自己维护升级;而commonupload是由著名的apache组织提供的,既可以独立使用,又可以在Struts中直接调用(已经集成到Struts中),但是需要JDK高版本。
      

  4.   

    HTTP协议实现文件上传的实现方式是这样的:首先使用ServletRequest类的getInputStream()方法获得一个客户端向服务器发出的数据流,然后处理这个数据流,从中分析得到上传文件传递到服务器的各个参数和数据,然后将其中的文件数据存储到应用服务器上或数据库中。
    在过去的Html中,表单不能实现文件的上传,这多少限制了一些网页的功能。RFC1867规范(即Html中实现基于表单的文件上传)对表单作出了扩展,增加了一个表单元素<input type=file>。通过使用这个元素,浏览器会自动生成一个输入框和一个按钮,输入框可供用户填写本地的文件名和路径名,按钮可以让浏览器打开一个文件选择框供用户选择文件。只要客户端浏览器版本在Netscape 3和IE3.02以上均支持,无须安装任何控件和插件。
    实现HTTP协议上传文件,可以采用两种开发模式:一是采用第三方提供的免费JAVA服务器端组件;二是自己编写服务器端组件;对于自己编写组件,由于没有在业务系统中实际应用,可能会存在很多不可预知的风险问题。因此,建议采用第三方提供的免费JAVA组件。
    现在业内普遍使用的第三方服务器组件主要是jspsmartupload和commonupload。总的感觉是jspsmartuplod比较灵活,功能上很强大,上传的时候把上传文件放到应用服务器内存里,可以大大提高系统的相应能力,但是上传文件的大小会和应用服务器内存有很大关系,只要应用服务器支持JDK1.2.2和JSP1.1即可;commonupload虽然没有提供很多API,但是也比较灵活,上传的过程中会把上传的文件直接写入应用服务器磁盘,经测试可以一次最大上传700M的文件,只要应用服务器支持JDK1.3和JSP1.1即可。二者在应用中都很容易实现,并且也都很稳定,同时能满足多用户高并发的应用环境。
    到目前为止,jspsmartupload已没有升级版,下载此组件的网站也已关闭,但是其源代码已经公开,我们可以自己维护升级;而commonupload是由著名的apache组织提供的,既可以独立使用,又可以在Struts中直接调用(已经集成到Struts中),但是需要JDK高版本。