|
jsp页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>File upload</title>
</head>
<body>
<form name="myform" action="/Fileupload" method="post" enctype="multipart/form-data">
File:<br>
<input type="file" name="myfile"><br><br>
<input type="submit" name="submit" id="submit" value="Commit">
</form>
</body>
</html>
Fileupload.java
public class Fileupload extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
try {
//构建上传路径
String uploadPath = getServletContext().getRealPath("/upload"); // 上传文件的真正存储目录
//String uploadPath = "F:/excise/web/upload";
File uploadFile = new File(uploadPath);//获得目录对象
//如果不存在,则创建该目录
if (!uploadFile.exists()) {
uploadFile.mkdir();
}
//建立系统临时文件目录,用于构建DiskFileItemFactory
File tempfile = new File(System.getProperty("java.io.tmpdir"));
DiskFileItemFactory diskFileItemFactory = new DiskFileItemFactory();
diskFileItemFactory.setSizeThreshold(4096); // 设置缓冲区大小4kb
diskFileItemFactory.setRepository(tempfile); //设置临时目录
ServletFileUpload fu = new ServletFileUpload(diskFileItemFactory); //处理上传文件的对象
fu.setHeaderEncoding("utf-8");//设置编码,否则为乱码
fu.setSizeMax(4194304);//设置文件大小
List<FileItem> fileItems = fu.parseRequest(request); //解析上传文件请求,返回一个List
for (FileItem fi : fileItems) {
String fileName = fi.getName();
if (fileName != null) {
File fullFile = new File(fileName);
File savedFile = new File(uploadPath, fullFile.getName());
fi.write(savedFile); //将上传的文件写入指定位置,设置指定名称
}
}
System.out.println("upload succeed");
} catch (Exception e) {
e.printStackTrace();
}
}
} |
|
|