本来程序不止这几段代码,其他就是些存文件之类的了
但是我调试的时候把其他都注释了
只剩下这几行也照样出现问题
还有,要是把su.upload()注释了就不会出现cpu100%问题
但是文件都不能传了啊!郁闷等待中!

解决方案 »

  1.   

    这是使用smartUpload组件辅助进行ftp上传的例子
    代码如下,请大家帮忙找下原因,非常感谢!<%@ page contentType="text/html; charset=gb2312" language="java"%>
    <%@ page import="java.util.*,java.io.*,com.enterprisedt.net.ftp.*,com.jspsmart.upload.*" %>
    <%
      java.util.Date datename=new java.util.Date();
      SmartUpload su=new SmartUpload();
      su.initialize(pageContext);
      su.setMaxFileSize(10000 * 1024*1024);
      su.setAllowedFilesList("txt,jpg,gif,bmp,JPG,GIF,BMP");
      su.setDeniedFilesList("exe,bat,jsp,htm,html");
      su.upload();//这里注释后cpu占用正常,但已经不能上传东西
      com.jspsmart.upload.Files files=su.getFiles();
      su=null;
      com.jspsmart.upload.File file=null;
      FTPClient ftpclient=null;
      byte[] bytes;
      String day=Integer.toString(datename.getYear()+1900)+Integer.toString(datename.getMonth()+1)+Integer.toString(datename.getDate());
      String photoname="";
      String tempphotoname="";
      int num=0;
      try{
      ftpclient=new FTPClient("127.0.0.1",21);
      ftpclient.login("***","***");
      ftpclient.setConnectMode(FTPConnectMode.PASV);
      ftpclient.setType(FTPTransferType.BINARY);
      if (ftpclient.dir(day,true)==null||ftpclient.dir(day,true).length==0)
      {
        ftpclient.mkdir(day);
      }
      ftpclient.chdir(day);
      num=files.getCount();
      for(int i=0;i<num;i++)
      {
      file=files.getFile(i);
      photoname="test"+Integer.toString(i);
      bytes=new byte[file.getSize()];
      int j=0;
      for(j=0;j<file.getSize();j++)
      {
      bytes[j]=file.getBinaryData(j);
      }
      ftpclient.put(bytes,photoname+"."+file.getFileExt());
      bytes=null;
      file=null;
      }
      files=null;
      ftpclient.quit();
      }
       catch(FTPException e)
    {
         e.printStackTrace();
         ftpclient.cancelTransfer();
       }
       catch(IOException e)
    {
         e.printStackTrace();
       }
      %>
      

  2.   

    注意smartupload目前只能上传100兆以下大小的文件。你自己测试一下吧!给你个例子作参考!
    myupload.initialize(pageContext);
    myupload.setMaxFileSize(1024*1024);
    myupload.setTotalMaxFileSize(1024*1024*100);
    myupload.setAllowedFilesList("jpg,gif");
    myupload.upload();
      

  3.   

    su.setMaxFileSize(10000 * 1024*1024);--->大了点?