我用Eclipse6.5  我用的组件式smareupload   看了很多是网上的代码  都是那个样 代码全都写好  运行也正常  文件的大小  文件名 路径 什么都可以取到  可是就是在运行好后  没任何错误的提示  可指定的文件夹里就是没我上传的文件  代码如下
上传页面<body>
    <form action="show.jsp" method="post" ENTYPE="MULTIPART/FORM-DATA">
    选择上传的文件1
    <input name="file1" type= "file"><br>
    选择上传的文件2
    <input name="file2" type= "file"><br>
    选择上传的文件3
    <input name="file3" type= "file"><br>
    
    <input type="text" name="text" >
    携带参数上传
    <input type="submit" value="上传">
     </form>
    
      </body>
上传中页面<body>  
  
<%
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 上传初始化
su.initialize(pageContext);
// 设定上传限制
try{
// 1.限制每个上传文件的最大长度。
su.setMaxFileSize(10000000);
// 2.限制总上传数据的长度。
su.setTotalMaxFileSize(20000000);
// 3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
su.setAllowedFilesList("doc,txt,jpg");
// 4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,
su.setDeniedFilesList("exe,bat,jsp,htm,html,,");
// 上传文件
su.upload();
// 将上传文件全部保存到指定目录

int count = su.save("/upload");
out.println(count+"个文件上传成功!<br>");
    // 利用Request对象获取参数之值
out.println("TEST="+su.getRequest().getParameter("TEST")+"<BR><BR>"); // 逐一提取上传文件信息,同时可保存文件。----------一般情况下不使用操作
for (int i=0;i<su.getFiles().getCount();i++)
{
com.jspsmart.upload.File file = su.getFiles().getFile(i);
        
// 若文件不存在则继续
if (file.isMissing()) continue; // 显示当前文件信息
out.println("<TABLE BORDER=1>");
out.println("<TR><TD>表单项名(FieldName)</TD><TD>"+ file.getFieldName() + "</TD></TR>");
out.println("<TR><TD>文件长度(Size)</TD><TD>" + file.getSize() + "</TD></TR>");
out.println("<TR><TD>文件名(FileName)</TD><TD>" + file.getFileName() + "</TD></TR>");
out.println("<TR><TD>文件扩展名(FileExt)</TD><TD>" + file.getFileExt() + "</TD></TR>");
out.println("<TR><TD>文件全名(FilePathName)</TD><TD>"+ file.getFilePathName() + "</TD></TR>");
out.println("</TABLE><BR>"); // 将文件另存
//file.saveAs("/upload/" + myFile.getFileName());
// 另存到以WEB应用程序的根目录为文件根目录的目录下
//file.saveAs("/upload/" + myFile.getFileName(), su.SAVE_VIRTUAL);
// 另存到操作系统的根目录为文件根目录的目录下
//file.saveAs("c:\temp\" + myFile.getFileName(),  su.SAVE_PHYSICAL); }
 }catch(Exception e){
    out.println("上传失败");
    }

%>
  </body>

解决方案 »

  1.   

    貌似我也有过这个问题
    LZ在看下ENTYPE="MULTIPART/FORM-DATA"吧
    我也没多大印象了
      

  2.   

    我以前也上传过,上传成功了,不过上传的地方和我想要的地方不一样,我的上传到tomcat那个里面的目录下了,你看看你的。。
      

  3.   

    // 将文件另存 
    //file.saveAs("/upload/" + myFile.getFileName()); 
    // 另存到以WEB应用程序的根目录为文件根目录的目录下 
    //file.saveAs("/upload/" + myFile.getFileName(), su.SAVE_VIRTUAL); 
    // 另存到操作系统的根目录为文件根目录的目录下 
    //file.saveAs("c:\temp\" + myFile.getFileName(),  su.SAVE_PHYSICAL); 
    全都注释起来了,怎么保存嘛,file.saveAs(request.getRealPath("/upload/") + myFile.getFileName(), su.SAVE_VIRTUAL); 
    试试吧
      

  4.   

    使用apache的上传组件顺风顺水,很好用。
      

  5.   

    我的是Eclipse6.5  tomcat 是绑定的  我也进去看了 没upload文件夹  保存的写法 我也按照上面的说的该了下 都没有用  实在不行 大家能推荐好用点的组件 上传大点的文件的