文件上传代码
2016-07-04 08:40
302 查看
1.0先在页面上初始化
代码
enctype=多部分的表单数据,并且如果form表单的属性中多了enctype="multipart/form-data",是不能使用request.getParameter(name属性的)
效果图
1.12:在WEB-ROOT的根目录下创建一个test.jsp,实现文件上传功能!
代码
<title>文件上传</title> </head> <body> <form enctype="multipart/form-data" action="test.jsp" method="post"> 名称:<input type="text" name="username" /><br> 文件:<input type="file" name="myfile" /><br/> <input type="submit" value="提交"/> </form> </body> </html>
enctype=多部分的表单数据,并且如果form表单的属性中多了enctype="multipart/form-data",是不能使用request.getParameter(name属性的)
效果图
1.12:在WEB-ROOT的根目录下创建一个test.jsp,实现文件上传功能!
<%@page import="java.io.File"%> <%@page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%> <%@page import="org.apache.commons.fileupload.FileItem" %> <%@page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% //解决乱码 request.setCharacterEncoding("utf-8"); //将用户传递过来的request的内容显示出来,判断类型,如果是常规的普通表单,那么执行方式一 //否则是文件域,执行方式二 //01.判断是普通表单还是文件上传 boolean flag=ServletFileUpload.isMultipartContent(request); if(flag) { //定义一个解析器,来解析请求中的各个项目 DiskFileItemFactory factory=new DiskFileItemFactory(); //解析upload创建成功 ServletFileUpload upload=new ServletFileUpload(factory); List<FileItem> filelist=upload.parseRequest(request); //每一个FileItem都代表了一个表单元素 Iterator<FileItem> mytor=filelist.iterator(); while(mytor.hasNext()) { FileItem item=mytor.next(); if(item!=null) { //对当前进行验证,是普通表单还是文件上传 if(item.isFormField()) //证明是普通表单字段 { //获取该表单元素内容(value值) String name=item.getFieldName(); //表单的name属性而不是value值 if(name.equals("username")) { out.print(item.getString("utf-8")); } }else{//是文件上传 String filename=item.getName(); //扔到服务器目录下 String path="/WEB-INF/folder";//相对路径 String paths=this.getServletContext().getRealPath(path); out.print(paths); File file=new File(filename); File uploadFile=new File(paths,file.getName()); item.write(uploadFile); out.print("上传成功"); } } } } %>
相关文章推荐
- php 文件管理
- think in java笔记 为什么用内部类
- 学习ASP.NET Core,你必须了解无处不在的“依赖注入”
- Java远程通讯技术及原理分析
- java制作透明窗体(类似PS欢迎界面 )
- 知识点5-6
- win7上qt5.1.1 opencv2.4.7 cmake2.8.12.1环境搭建(关键在环境变量)
- java.io.FileNotFoundException: *****(Too many open files)
- java入门---数据类型
- Mini-project #5 - Memory
- C++11新特性总结 (一)
- java入门--标识符、关键字和注释
- mapreduce编程模型你知道多少?
- 从背单词到写代码
- Go语言学习笔记5
- JavaWeb增强:国际化
- Java 入门--在控制台下运行java程序
- JavaWeb增强
- Hook API (C++)
- hibernate学习之三----映射关系