http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=379
 在JSP中如何使用SmartUpload下载? 
http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=33247
如何用jsp实现上传文件的功能?(
如果还不够,就看看这里的FAQ,有很多关于上传下载的帖子的。

解决方案 »

  1.   

    SmartUpload不错
    commons-fileupload-1.0
    commons-httpclient-2.0
    这都是免费的
      

  2.   

    去下载smartupload吧,里面包含了上传和下载的功能了。jsp,servlet都可以用它
      

  3.   

    后面两个到http://jakarta.apache.org/下载
    如commons-fileupload-1.0就是http://jakarta.apache.org/commons/fileupload/index.html
    举例你看看:
    <html><head><title>文件上传演示</title></head><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="40" marginwidth="0" marginheight="0"><center><h1>文件上传演示</h1><form name="uploadform" method="POST" action="save.jsp" ENCTYPE="multipart/form-data">        <table border="1" width="450" cellpadding="4" cellspacing="2" bordercolor="#9BD7FF">        <tr><td width="100%" colspan="2">                        文件1:<input name="file1" size="40" type="file">        </td></tr>        <tr><td width="100%" colspan="2">                        文件2:<input name="file2" size="40" type="file">        </td></tr>        <tr><td width="100%" colspan="2">                        文件3:<input name="file3" size="40" type="file">        </td></tr>        </table>        <br/><br/>        <table>        <tr><td align="center"><input name="upload" type="submit" value="开始上传"/></td></tr>        </table></form></center></body></html>
      

  4.   

    save.jsp///////////
    <%/** * 演示文件上传的处理 * @author <a href="mailto:[email protected]">Winter Lau</a> * @version $Id: save.jsp,v 1.00 2003/03/01 10:10:15 */%><%@ page language="java" contentType="text/html;charset=GBK"%><%@ page import="java.util.*"%><%@ page import="org.apache.commons.fileupload.*"%><html><head><title>保存上传文件</title></head><%    String msg = "";    FileUpload fu = new FileUpload();    // 设置允许用户上传文件大小,单位:字节    fu.setSizeMax(10000000);    // maximum size that will be stored in memory?    // 设置最多只允许在内存中存储的数据,单位:字节    fu.setSizeThreshold(4096);    // 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录    fu.setRepositoryPath("C:\\TEMP");    //开始读取上传信息    List fileItems = fu.parseRequest(request);%><body bgcolor="#FFFFFF" text="#000000" leftmargin="0" topmargin="40" marginwidth="0" marginheight="0"><font size="6" color="blue">文件列表:</font><center><table cellpadding=0 cellspacing=1 border=1 width="100%"><tr><td bgcolor="#008080">文件名</td><td bgcolor="#008080">大小</td></tr><%    // 依次处理每个上传的文件    Iterator iter = fileItems.iterator();    while (iter.hasNext()) {        FileItem item = (FileItem) iter.next();        //忽略其他不是文件域的所有表单信息        if (!item.isFormField()) {            String name = item.getName();            long size = item.getSize();            if((name==null||name.equals("")) && size==0)                continue;%><tr><td><%=item.getName()%></td><td><%=item.getSize()%></td></tr><%            //保存上传的文件到指定的目录            name = name.replace(':','_');            name = name.replace('\\','_');            item.write("F:\\" + name);        }    }%></table> <br/><br/><a href="upload.html">返回上传页面</a></center></body></html>
      

  5.   

    download/////////////
    MultipartPostMethod filePost = new MultipartPostMethod("your URL","save temp directory","save file name");HttpClient client = new HttpClient();
    //由于要上传的文件可能比较大,因此在此设置最大的连接超时时间
    client.setTimeout(5000);int status = client.executeMethod(filePost);
    /////////////
      

  6.   

    下一个smartupload组件, 很好用的。
      

  7.   

    我觉得Jspsmartupload 不是很好,
    1。它将要上传的文件一次性读入内存,这样会耗费很多资源,又对其他程序造成资源影响。
      而且由此产生内存溢出错误,并限制上传文件的大小(不能大于内存空间或虚拟内存)。
    2。将原来的文件名原封不动的传到服务器上不是好方法。比如,遇到文件名冲突的话,会覆盖掉前面的文件,如果不同的用户上传同一个名字的文件,那就出问题了。所以,我自己写了个上传Bean。
    1。通过循环读入字符流,可以上传任意大小的文件,只要网络不掉线;
    2。可以定义文件名的规则,比如加上日期、用户信息,防止文件重名冲突;
    3。与数据库关联这功能不必多说;
    4。很好的支持中文文件名(因为我是中国人);
    5。同时上传任意多个文件,记录各文件名、大小(通过HashMap实现,效率高);
    6。可以限制上传大小。
    。。
      

  8.   

    楼上的你和做广告是的,干吗呢,说的那么好,给我发一个
    .cn
    楼主,你要是想要UploadSmart的话我可以给你发一个,想要的话用短信息留言