用jspsmartupload就可以了,实现起来比较方便!

解决方案 »

  1.   

    当然可以调了 smart 就相当于一个组件啊   在类里调用他即可了
      

  2.   

    这是我的一个用来上传的例子!可以参考一下!
    <%@ page contentType="text/html;charset=gb2312"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="upload.*"%>
    <jsp:useBean id="myupload" scope="page" class="com.jspsmart.upload.SmartUpload" />
    <%
    String file_name="";
    String file_size="";
    String attPath="/pic/";
            String fileExt = "";
    %>
    <%
       Upload u = new Upload();
        myupload.initialize(pageContext);
    myupload.upload();
    for (int i=0;i<myupload.getFiles().getCount();i++){
    com.jspsmart.upload.File myFile = myupload.getFiles().getFile(i);
    file_name=myFile.getFileName();
                            fileExt = myFile.getFileExt();
    Date date   = new Date();
    long lfilename = date.getTime();
    myFile.saveAs(attPath+lfilename+"."+fileExt);
    file_size=myFile.getSize()+"";
    u.insert(file_name,lfilename+"."+fileExt,file_size);
         }
     response.sendRedirect("view.jsp");
    %>
      

  3.   

    想用mvc来实现,又不会自己写action类,跳转类......,于是想到了struts,对它还懂一些楼主这段话是什么意思??????
      

  4.   

    对,就是想把jspsmartupload封装在java 类里面,有人写过这样的类:
    public static SmartUpload getSmartUpload(Servlet servlet,HttpServletRequest req,HttpServletResponse res)
    {
    SmartUpload su=new SmartUpload();
    try
    {
    su.initialize(servlet.getServletConfig(),req,res);
    su.upload();
        }
        catch(Exception e)
        {
         System.out.println("异常"+e);
        }
    return su;
    }
    这个servlet参数就要在相应的Action中调了,如果只是在jsp中调用,是不对的,
    所以要写action类,写servlet的,
      

  5.   

    那我想把jspsmartupload封装起来,那bean中smart的初始化怎么办,初始化后又如何在程序中调用呢,就像我前面写的那样public static SmartUpload getSmartUpload(Servlet servlet,HttpServletRequest req,HttpServletResponse res)
    {
    SmartUpload su=new SmartUpload();
    try
    {
    su.initialize(servlet.getServletConfig(),req,res);
    su.upload();
        }
        catch(Exception e)
        {
         System.out.println("异常"+e);
        }
    return su;
    }
    这个servlet参数就要在相应的Action中调了,如果只是在jsp中调用,是不对的,
    所以要写action类,写servlet的,
      

  6.   

    jspsmartupload 上传比较大的文件时,就会有问题(它是把用户提交的信息全部放在内存里),jspsmartupload 不只是可以在jsp里用,也可以在servlet里用。
    struts里的上传组件commons-fileupload.jar,在上传大文件时比较好,这个组件可以不在struts里使用,但是它好像解决不了下载问题。
    如果你想在action里用jspsmartupload,需要反编译一下jspsmartupload,给jspsmartupload添加个initialize(HttpServletRequest req,HttpServletResponse res),以便它可以在action里用。
      

  7.   

    收获很大,可是,initialize(HttpServletRequest req,HttpServletResponse res),该怎么弄呢,本人是新手,再指点一下,或者方便的话,留个联系方式.QQ什么的,谢谢了!!!!!!!!!!
      

  8.   

    public final void initialize(ServletConfig servletconfig, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)
            throws ServletException
        {
            m_application = servletconfig.getServletContext();
            m_request = httpservletrequest;
            m_response = httpservletresponse;
        }    public final void initialize(PageContext pagecontext)
            throws ServletException
        {
            m_application = pagecontext.getServletContext();
            m_request = (HttpServletRequest)pagecontext.getRequest();
            m_response = (HttpServletResponse)pagecontext.getResponse();
        }    public final void initialize(ServletContext servletcontext, HttpSession httpsession, HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse, JspWriter jspwriter)
            throws ServletException
        {
            m_application = servletcontext;
            m_request = httpservletrequest;
            m_response = httpservletresponse;
        }
      

  9.   

    也可以用apache项目组里commons里fileUpload
      

  10.   

    没问题,可以一起用。手里这个项目正好就是用struts的FormFile上传,用smart做的下载,很好用。
      

  11.   

    用struts的FormFile上传时,我有一个例子,能实现单文件上传,但觉得里面代码很烦,有输入输出流,应该再封装一下吧!!!你们上传也用smart吗?