org.apache.commons.fileupload.DiskFileUpload fu = new org.apache.commons.fileupload.DiskFileUpload();   
// 设置允许用户上传文件大小,单位:字节fu.setSizeMax(10000000);
// maximum size that will be stored in memory?
// 设置最多只允许在内存中存储的数据,单位:字节
fu.setSizeThreshold(4096);
// 设置一旦文件大小超过getSizeThreshold()的值时数据存放在硬盘的目录
fu.setRepositoryPath(prefix);
//开始读取上传信息List fileItems = fu.parseRequest(request);Iterator iter = fileItems.iterator();while (iter.hasNext()) {
  org.apache.commons.fileupload.FileItem item = (org.apache.commons.fileupload.FileItem) iter.next();  
  //忽略其他不是文件域的所有表单信息
  if (!item.isFormField()) {
   String name = item.getName();   long size = item.getSize();
   if(size>1000000)
   {
     out.println("上传文件大小不能超过1M");
     out.println("<a href='importsn.jsp'>返回</a>");
     return ;
   }
   if((name==null||name.equals("")) && size==0)
   continue;
   //保存上传的文件到指定的目录
   name = name.replace(':','_');
   name = name.replace('\\','_');   //prefix=prefix + "\\" + name;
   prefix=prefix + "\\" + name;
   java.io.File f1=new java.io.File( prefix);
   item.write(f1);在weblogic运行提示the request was rejected because no multipart boundary was found 怎么解决呀。

解决方案 »

  1.   

    没遇到这种情况啊,
    应该是你的页面form的type不正确吧,weblogic没有检测到上传文件类型的form。
      

  2.   

    是因为DiskFileUpload在解析你的上传请求(request)的时候在request.getContentType()返回的阿字符串没有发现boundary,所以出错了,检查一下你的contentType,看看是什么值,是不是你的contentType设置有问题。
      

  3.   

    另外你所用的DiskFileUpload已经是一个过时的类了,现在FileUpload提倡用ServletFileUpload和DiskFileItemFactory类联合使用来替代DiskFileUpload类,具体使用如下:DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(10240);
    factory.setRepository(new java.io.File("d://Apache Group"));
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(10240);
    java.util.List/* FileItem */items = upload.parseRequest(request);
    java.util.Iterator iter = items.iterator();
    while (iter.hasNext())
    {
    FileItem item = (FileItem) iter.next();
    }
      

  4.   

    imA(男的不会,会的不男) 不行呀.我把代码改成你的。还是同样的错误。
      

  5.   

    把你的上传页面发上来看看,另外你的weblogic版本是什么?
      

  6.   


    <%@page contentType="text/html; charset=GBK"%>
    <%@ page import="seamooncard.*" %>
    <html>
    <head>
    <title>上传文件</title><%
    if(session.getAttribute("UserID")==""||session.getAttribute("UserID")==null)
    {
    response.sendRedirect("mlogin.htm");
    }
    %>
    <script language="javascript">
    <!--
    function isValid(form)
      { if (window.document.all.file1.value=="")
    {
    window.alert("请选择文件");
    window.document.all.file1.focus();
    return false;
    } return true;
      }
      //-->
    </script>
    </head>  <body bgColor="#d5ecfc">  <h1>上传文件</h1>
      <form   name="importsn" method="POST" action="save.jsp" enctype="multipart/form-data">
        <table >
        <tr><td   width="100%"colspan="2">
        文件:<input   name="file1"size="40"type="file">
        </td></tr>
         <tr><td   align="center"><input   name="upload"   type="submit" value="开始导入" onclick="return isValid(this);"/></td></tr>    </table>
      </form>  </body></html>save.jsp<%@ page language="java" contentType="text/html;charset=GBK"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="javax.servlet.*"%>
    <%@ page import="javax.servlet.http.*"%>
    <%@ page import="org.apache.commons.fileupload.*"%>
    <%@ page import="org.apache.commons.io.*"%>
    <%@ page import="org.apache.commons.fileupload.FileItem"%>
    <%@ page import="org.apache.commons.fileupload.disk.*"%>
    <%@ page import="org.apache.commons.fileupload.servlet.*"%>
    <jsp:useBean id="FileUpload" class="org.apache.commons.fileupload.FileUpload"  > </jsp:useBean>
    <html>
    <head>
    <title>保存上传文件</title>
      <body bgColor="#d5ecfc">  <form   name="save" method="POST" action="save.jsp" enctype="multipart/form-data"><%
    if(session.getAttribute("UserID")==""||session.getAttribute("UserID")==null)
    {
    response.sendRedirect("mlogin.htm");
    }
    %>
    </head>
    <%   String   prefix   ="c:\\java";  //System.getProperty("user.home");//try
    {DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(10240);
    factory.setRepository(new java.io.File("c:\\java"));
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(10240);
    out.println(request.getContentType());
    java.util.List/* FileItem */items = upload.parseRequest(request);
    out.println(1);
    out.println(request.getContentType());
    java.util.Iterator iter = items.iterator();
    while (iter.hasNext()) {
      org.apache.commons.fileupload.FileItem item = (org.apache.commons.fileupload.FileItem) iter.next();  // 此处有修改。。
      //忽略其他不是文件域的所有表单信息
      if (!item.isFormField()) {
       String name = item.getName();   long size = item.getSize();
       if(size>1000000)
       {
         out.println("上传文件大小不能超过1M");
         out.println("<a href='importsn.jsp'>返回</a>");
         return ;
       }
       if((name==null||name.equals("")) && size==0)
       continue;
       //保存上传的文件到指定的目录
       name = name.replace(':','_');
       name = name.replace('\\','_');   //prefix=prefix + "\\" + name;
       prefix=prefix + "\\" + name;
       java.io.File f1=new java.io.File( prefix);
       item.write(f1);
      
    }
    catch(Exception e)
    {
     out.println(e.getMessage());
    }%></form></body>
      

  7.   

    imA(男的不会,会的不男),是什么问题呢。我现在查不出来呀。
      

  8.   

    我试验了你上面提供的代码,除了你的save文件少写了几个}外,没出现你说的问题啊
    <%@ page language="java" contentType="text/html;charset=GBK"%>
    <%@ page import="java.util.*"%>
    <%@ page import="java.io.*"%>
    <%@ page import="javax.servlet.*"%>
    <%@ page import="javax.servlet.http.*"%>
    <%@ page import="org.apache.commons.fileupload.*"%>
    <%@ page import="org.apache.commons.io.*"%>
    <%@ page import="org.apache.commons.fileupload.FileItem"%>
    <%@ page import="org.apache.commons.fileupload.disk.*"%>
    <%@ page import="org.apache.commons.fileupload.servlet.*"%>
    <jsp:useBean id="FileUpload" class="org.apache.commons.fileupload.FileUpload" > </jsp:useBean>
    <html>
    <head>
    <title>保存上传文件</title>
    <body bgColor="#d5ecfc"> <form name="save" method="POST" action="save.jsp" enctype="multipart/form-data"></head>
    <%String prefix ="c:\\java"; //System.getProperty("user.home");//try
    {DiskFileItemFactory factory = new DiskFileItemFactory();
    factory.setSizeThreshold(10240);
    factory.setRepository(new java.io.File("c:\\java"));
    ServletFileUpload upload = new ServletFileUpload(factory);
    upload.setSizeMax(10240000);
    System.out.println("contentType: "+request.getContentType());
    java.util.List/* FileItem */items = upload.parseRequest(request);
    out.println(1);
    out.println(request.getContentType());
    java.util.Iterator iter = items.iterator();
    while (iter.hasNext()) 
    {
    org.apache.commons.fileupload.FileItem item = (org.apache.commons.fileupload.FileItem) iter.next(); // 此处有修改。。
    //忽略其他不是文件域的所有表单信息
    if (!item.isFormField()) 
    {
    String name = item.getName(); long size = item.getSize();
    if(size>1000000)
    {
    out.println("上传文件大小不能超过1M");
    out.println("<a href='importsn.jsp'>返回</a>");
    return ;
    }
    if((name==null||name.equals("")) && size==0)
    continue;
    //保存上传的文件到指定的目录
    name = name.replace(':','_');
    name = name.replace('\\','_'); //prefix=prefix + "\\" + name;
    prefix=prefix + "\\" + name;
    java.io.File f1=new java.io.File( prefix);
    item.write(f1);
    }
    }
    }
    catch(Exception e)
    {
    out.println(e.getMessage());
    }%></form></body>
    </html>
    这是我改后的save文件内容,你只要把你的判断用户加上就行了。
    应该不会出现你上面说的问题。