67,515
社区成员
发帖
与我相关
我的任务
分享
<%@page import="org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException"%>
<%@page import="org.apache.commons.fileupload.FileUploadBase"%>
<%@page import="java.io.File"%>
<%@page import="org.apache.commons.fileupload.*"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%>
<%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<title>My JSP 'doupload.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
boolean isMultiPart = ServletFileUpload.isMultipartContent(request);
if(isMultiPart){
File tempDir = new File(request.getServletContext().getRealPath("/temp"));
if(!tempDir.exists()){
tempDir.mkdirs();
}
DiskFileItemFactory factory = new DiskFileItemFactory();
factory.setSizeThreshold(5);
factory.setRepository(tempDir);
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setFileSizeMax(1024*30);
try{
List<FileItem> fileItems = upload.parseRequest(request);
for(FileItem fileItem : fileItems){
if(fileItem.isFormField()){
String fileName = fileItem.getFieldName();
if(fileName != null && "uname".equals(fileName)){
out.println(fileItem.getString("utf-8")+"上传了文件<br/>");
}
}else{
List<String> allowFileType = Arrays.asList("jpg","jpeg");
String name = fileItem.getName();
String subFileName = name.substring(name.lastIndexOf(".")+1);
if(!allowFileType.contains(subFileName)){
out.println("上传文件失败,服务器只支持jpg、jpeg类型的文件。");
}else{
String savePath = request.getServletContext().getRealPath("/upload");
String newName = UUID.randomUUID().toString()+name.substring(name.lastIndexOf("."));
File file = new File(savePath+"/"+newName);
fileItem.write(file);
out.print("文件上传成功,上传的文件名为:"+name);
}
}
}
}catch(FileSizeLimitExceededException e){
e.printStackTrace();
out.println("文件上传失败,上传文件超出"+upload.getFileSizeMax()/1000+"KB.");
}catch(Exception e){
e.printStackTrace();
}
}
%>
</body>
</html>
struts.multipart.maxSize=1000000000
[quote=引用 3 楼 paulorwys 的回复:] [quote=引用 1 楼 u012377333 的回复:] 我也遇到这个问题了,蛋疼啊
u012377333
[quote=引用 1 楼 u012377333 的回复:] 我也遇到这个问题了,蛋疼啊
我也遇到这个问题了,蛋疼啊