是不是文件过大导致的?
mySmartUpload.setTotalMaxFileSize(2147483647);

解决方案 »

  1.   

    是你设的最大直太小了
    设大点就可以了
    mySmartUpload.setMaxFileSize(500 * 1024*1024);
      

  2.   

    jspsmartupload是一次将整个文件全部读到内存里面然后再写,这样如果访问量很大的时候,或者文件很大时候很容易就出现错误了!
      

  3.   

    我测试 文件3k我用mySmartUpload.uploadInFile("/Content/pic1.temp")不出错

    ,而用
    mySmartUpload.upload();mySmartUpload.getFiles().getFile(0).saveAs("/Content/pic2.temp");
    出错
      

  4.   

    com.jspsmart.upload.SmartUpload mySmartUpload=new com.jspsmart.upload.SmartUpload();
    mySmartUpload.initialize(pageContext);
    mySmartUpload.setMaxFileSize(500 * 1024*1024);
    mySmartUpload.upload();
    com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(i);
       if (!myFile.isMissing())
        {
        String myFileName=myFile.getFileName();
        String trace="c:/"+myFileName;
        myFile.saveAs (trace,mySmartUpload.SAVE_PHYSICAL);
        }
      

  5.   

    我的源码
           mySmartUpload.initialize(config,req,resp);
           out.println("upload init");
           mySmartUpload.setMaxFileSize(500*1024*1024);
           mySmartUpload.upload();
    mySmartUpload.getFiles().getFile(0).saveAs("/Content/pic2.temp");
    //mySmartUpload.uploadInFile("/Content/pic1.temp");
    //strCmd=mySmartUpload.getRequest().getParameter("CmdFlag");
    if(strCmd.equals("saveNewDoc"))
    {
    out.println("cmd is saveNewDoc");
    /*
    bRequestFlag=true;
           com.jspsmart.upload.File myFile = mySmartUpload.getFiles().getFile(0);        String fileName = myFile.getFileName();
           int fileSize = myFile.getSize();
            if(!myFile.isMissing())
            {
                     //myFile.saveAs(fileName,mySmartUpload.SAVE_PHYSICAL);
            //mySmartUpload.getFiles().getFile(0).saveAs("d:/RelWeb/pic.temp");
    out.println("file have upload");     
    }
            else
            {
    out.println("file have not upload");     
            }
    */
    }
    else
    {
    out.println("cmd not saveNewDoc:"+strCmd);     
    }