您的位置:首页 > 编程语言 > Java开发

Java 使用commons集驱动包+Servlet类实现简单的上传文件到本地!推荐

2017-08-26 09:14 627 查看
大家好!欢迎大家来探讨问题。话不多说,本章将利用阿帕奇下的commons驱动包实现基本的文件上传文件。利用commons驱动包来上传文件已经在许多框架中使用,非常常见!


第一步:新建一个Servlet类(Upload.java)

新建成功后把Servlet类注释的路径改为@WebServlet("/upload");再新建一个images文件夹

下面将直接贴出doPost方法中的代码:

boolean isMultipart = ServletFileUpload.isMultipartContent(request);
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletContext servletContext = this.getServletConfig().getServletContext();//取得当前servlet上下文
File repository = (File) servletContext.getAttribute("javax.servlet.context.tempdir");//取得当前项目的临时目录
factory.setRepository(repository);//告诉upload组件临时目录位置
ServletFileUpload upload = new ServletFileUpload(factory);
try {
//把请求里的文件字段全部分析出来放在list中
List<FileItem> items = upload.parseRequest((HttpServletRequest)acontext.getRequest());
for(FileItem item:items) {
String fieldName = item.getFieldName();
String fileName = item.getName();
String contentType = item.getContentType();
boolean isInMemory = item.isI
4000
nMemory();
long sizeInBytes = item.getSize();
File uploadedFile = new File(request.getRealPath(".")+"/images/"+fileName.substring(fileName.indexOf("\\")+1,fileName.length()));
item.write(uploadedFile);
}
}
}catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

注意:

这里需要用到的驱动包:commons-collections-3.2.jar, commons-fileupload-1.3.3.jar, commons-io-2.0.1.jar, commons-lang-2.3.jar, commons-logging-1.0.4.jar, commons-logging-api-1.1.jar  六个驱动包。


第二步:新建一个JSP(index.jsp)

下面是jsp页面的代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>上传多个文件</title>
</head>
<body>
<form action="<%=request.getContextPath() %>/upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="file" name="file" />
<input type="submit" />
</form>
</body>
</html>

第三步:

将项目打包成war保存在tomcat解压文件目录的webapps目录下,这时候在webapps目录下会生成一个Upload.war的文件。接着就到tomcat目录bin文件 双击运行startup.bat文件,运行成功后在webapps目录下会生成一个Upload文件夹。现在访问 http://localhost:8080/Upload ,选择你上传的文件,点击提交没有报错就表示成功!现在到webapps目录下自动生成的Upload文件夹中的images文件夹,刚刚你选择的图片就上传到images文件夹中了!


第四步:

这篇文章打了两遍,因为手贱操作不慎第一遍的代码都没保存就没了。害我又打了一遍

不容易啊。对你有没有帮助都顶一下好吗

 
哈哈。我虽然不是很厉害 但是我有学习到的一定分享出来共享,哈哈。欢迎一起探讨哦。一个字一个字打出来的,手好酸啊

。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: