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 怎么解决呀。
// 设置允许用户上传文件大小,单位:字节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 怎么解决呀。
应该是你的页面form的type不正确吧,weblogic没有检测到上传文件类型的form。
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();
}
<%@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>
<%@ 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文件内容,你只要把你的判断用户加上就行了。
应该不会出现你上面说的问题。