JSP Servlet学习笔记——使用fileupload上传文件
来源:互联网 发布:java 异常类 编辑:程序博客网 时间:2024/06/05 17:42
关键代码如下:
index.jsp
- <body>
- <center>
- <h3>文件上传</h3>
- <font color="red"><%=request.getAttribute("msg")==null?"":request.getAttribute("msg") %></font>
- <formenctype="multipart/form-data"method="post"action="servlet/FileUploadServlet">
- 文件描述:<inputtype="text"name="text"/><br/>
- 选择文件:<inputtype="file"name="file1"/><br/>
- 选择文件:<inputtype="file"name="file2"/><br/>
- 选择文件:<inputtype="file"name="file3"/><br/>
- 选择文件:<inputtype="file"name="file4"/><br/>
- 选择文件:<inputtype="file"name="file5"/><br/>
- <inputtype="submit"value="上传"/>
- </form>
- </center>
- </body>
<body> <center> <h3>文件上传</h3> <font color="red"><%=request.getAttribute("msg")==null?"":request.getAttribute("msg") %> </font> <form enctype="multipart/form-data" method="post" action="servlet/FileUploadServlet"> 文件描述:<input type="text" name="text" /><br/> 选择文件:<input type="file" name="file1" /><br/> 选择文件:<input type="file" name="file2" /><br/> 选择文件:<input type="file" name="file3" /><br/> 选择文件:<input type="file" name="file4" /><br/> 选择文件:<input type="file" name="file5" /><br/> <input type="submit" value="上传" /> </form> </center> </body>
FileUploadServlet.jsp
- package com.accp.fileupload.servlet;
- import java.io.File;
- import java.io.IOException;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import org.apache.commons.fileupload.FileItem;
- import org.apache.commons.fileupload.FileUploadException;
- import org.apache.commons.fileupload.FileUploadBase.FileSizeLimitExceededException;
- import org.apache.commons.fileupload.disk.DiskFileItemFactory;
- import org.apache.commons.fileupload.servlet.ServletFileUpload;
- public class FileUploadServletextends HttpServlet {
- private staticfinallong serialVersionUID = 2827297299439162553L;
- public void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- //使用同一种处理方法
- doPost(request, response);
- }
- public void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- request.setCharacterEncoding("UTF-8");
- response.setContentType("text/html; charset=UTF-8");
- //保存路径
- String savePath = getServletContext().getRealPath("/upload");
- File saveDir = new File(savePath);
- // 如果目录不存在,就创建目录
- if(!saveDir.exists()){
- saveDir.mkdir();
- }
- // 创建文件上传核心类
- DiskFileItemFactory factory = new DiskFileItemFactory();
- ServletFileUpload sfu = new ServletFileUpload(factory);
- //设置编码
- sfu.setHeaderEncoding("UTF-8");
- // 设置上传的单个文件的最大字节数为2M
- sfu.setFileSizeMax(1024*1024*2);
- //设置整个表单的最大字节数为10M
- sfu.setSizeMax(1024*1024*10);
- try{
- // 处理表单请求
- List<FileItem> itemList = sfu.parseRequest(request);
- for (FileItem fileItem : itemList) {
- // 对应表单中的控件的name
- String fieldName = fileItem.getFieldName();
- System.out.println("控件名称:" + fieldName);
- // 如果是普通表单控件
- if(fileItem.isFormField()){
- String value = fileItem.getString();
- //重新编码,解决乱码
- value = new String(value.getBytes("ISO-8859-1"),"UTF-8");
- System.out.println("普通内容:" + fieldName +"=" + value);
- // 上传文件
- }else{
- // 获得文件大小
- Long size = fileItem.getSize();
- // 获得文件名
- String fileName = fileItem.getName();
- System.out.println("文件名:"+fileName+"\t大小:" + size +"byte");
- //设置不允许上传的文件格式
- if(fileName.endsWith(".exe")){
- request.setAttribute("msg","不允许上传的类型!");
- }else{
- //将文件保存到指定的路径
- File file = new File(savePath,fileName);
- fileItem.write(file);
- request.setAttribute("msg","上传成功!");
- }
- }
- }
- }catch(FileSizeLimitExceededException e){
- request.setAttribute("msg","文件太大");
- }catch(FileUploadException e){
- e.printStackTrace();
- }catch(Exception e){
- e.printStackTrace();
- }
- //上传完毕后 转发到首页
- request.getRequestDispatcher("/index.jsp").forward(request, response);
- }
- }
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP Servlet学习笔记——使用fileupload上传文件
- JSP Servlet学习笔记——使用fileupload上传文件
- Jsp上传文件(FileUpload+Servlet)
- 在jsp/servlet中使用apache FileUpload组件文件上传(jsp,servlet,fileupload)
- struts2学习笔记(10)——使用fileupload进行文件上传
- struts2学习笔记(10)——使用fileupload进行文件上传
- Servlet使用commons-fileupload实现文件上传
- 使用FileUpload实现Servlet的文件上传
- JSP使用commons-fileupload实现文件上传
- Jsp 使用commons-fileupload实现文件上传
- Jsp 使用 fileupload 文件上传和下载
- jsp servlet使用 fileupload
- JSP+Servlet使用commons-fileupload上传文件连接被重置解决方案
- JSP+Servlet +commons-fileupload-1.2.1实现文件上传
- Servlet上传文件,commons-fileupload
- JSP 使用smartupload上传文件,JSP+servlet
- JSP精华知识点总结
- Local Declaration of '' hides instance variable
- 使用指针从函数返回一个数组
- 函数重载时,参数的一种情况
- 使表具有动态增长的能力
- JSP Servlet学习笔记——使用fileupload上传文件
- windows网络编程示例
- C语言生成DLL供C#调用
- C++中 指针和引用的比较
- 关于数组
- 内存对齐的规则和作用
- response练习2
- 尚学堂马士兵oracle学习笔记38--46 PL语言(procedure language) 面向过程
- SQl Server 数据库总结复习