文件上传-commons-fileupload组件
来源:互联网 发布:ubuntu下安装jdk9 编辑:程序博客网 时间:2024/03/28 23:56
1.简单的jsp文件上传界面
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html> <body> <form action="servlet2/UploadServlet" method="post" enctype="multipart/form-data"> 最简单的文件上传:<input type="file" name="fileupload"/> 描述:<input type="text" name="desc"/> <input type="submit" value="submit"/> </form> </body> </html>
2、UploadServlet.java
重点:1、2、3是主要核心代码
package servlet2;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.util.List;import javax.servlet.ServletException;import javax.servlet.annotation.WebServlet;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.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;/** * Servlet implementation class UploadServlet *///@WebServlet("/UploadServlet")public class UploadServlet extends HttpServlet { private static final long serialVersionUID = 1L; protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); //1、创建一个DiskFileItemFactory工厂 DiskFileItemFactory factory = new DiskFileItemFactory(); //2、创建一个文件上传解析器 ServletFileUpload upload = new ServletFileUpload(factory); //解决上传文件名的中文乱码 upload.setHeaderEncoding("UTF-8"); factory.setSizeThreshold(1024 * 500);//设置内存的临界值为500K File linshi = new File("E:\\");//当超过500K的时候,存到一个临时文件夹中 factory.setRepository(linshi); upload.setSizeMax(1024 * 1024 * 5);//设置上传的文件总的大小不能超过5M try { // 3. 得到 FileItem 的集合 items List<FileItem> /* FileItem */items = upload.parseRequest(request); // 4. 遍历 items: for (FileItem item : items) { // 若是一个一般的表单域, 打印信息 if (item.isFormField()) { String name = item.getFieldName(); String value = item.getString("utf-8"); System.out.println(name + ": " + value); } // 若是文件域则把文件保存到 f:\\files 目录下. else { String fileName = item.getName(); long sizeInBytes = item.getSize(); System.out.println(fileName); System.out.println(sizeInBytes); //文字输入流读入 InputStream in = item.getInputStream(); byte[] buffer = new byte[1024]; int len = 0; fileName = "E:\\files";//文件最终上传的位置 System.out.println(fileName); //文字输出流读取 OutputStream out = new FileOutputStream(fileName); while ((len = in.read(buffer)) != -1) { out.write(buffer, 0, len); } out.close(); in.close(); } } } catch (FileUploadException e) { e.printStackTrace(); } }}
阅读全文
0 0
- 文件上传-commons-fileupload组件
- 用commons-fileupload组件上传文件
- JAVA commons-fileupload文件上传组件使用说明
- 使用Commons-fileupload组件实现文件上传
- 使用Commons-fileupload组件实现文件上传
- JSP 文件上传组件commons-fileupload
- 使用commons-fileupload组件实现文件上传
- 使用commons-fileupload组件上传文件
- Commons-FileUpload上传组件
- 文件上传 commons-FileUpload
- Commons FileUpload上传文件
- Commons FileUpload上传文件
- commons-fileupload-文件上传
- commons fileupload 文件上传
- commons-fileupload上传文件
- 文件上传 commons-fileupload
- 利用commons-fileupload组件上传文件至服务器和数据库
- 利用commons-fileupload组件上传文件至服务器和数据库- -
- CCF201312-4 有趣的数 不会DP只会枚举
- 06读书笔记之进度条
- docker之daemon.json
- poj3255次短路
- Ubuntu中文版系统文件夹改成英文方法
- 文件上传-commons-fileupload组件
- Activity通信-传递对象、集合总结
- Matlab读取二进制文件
- Python3之列表(list)
- 基于TCP协议简易聊天室(客户端)
- Linux下Samba服务器配置,已成功
- C#实现的调用Quartz.dll的定时任务插件
- View的事件分发机制
- 数据库设计--库的拆分与表的分割