HttpServlet上传文件
来源:互联网 发布:java批量上传图片 编辑:程序博客网 时间:2024/06/16 07:51
1.文件名.isFormField() 判断是不是普通的表单
2.文件名.getFieldName(); 得到普通表单的name属性
3.文件名.getString("utf-8"); 得到普通表单的值
4.文件名.getName(); 得到你上传的文件的名字
5. String savePath = this.getServletContext().getRealPath("/img"); 得到你需要保存的地址的物理地址
6.fileName.substring(fileName.lastIndexOf(".") 重命名的时候根据最后一个点来拆开 方便的到后缀名
7.File.separator / 或者\
package student;import java.io.File;import java.io.FileOutputStream;import java.io.IOException;import java.io.InputStream;import java.util.HashMap;import java.util.List;import java.util.Map;import javax.servlet.ServletContext;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.disk.DiskFileItemFactory;import org.apache.commons.fileupload.servlet.ServletFileUpload;import Imp.showStudentImp;import bean.StudentBean;import dao.StudentImpDao;public class AddStudent extends HttpServlet { // 数据处理 private showStudentImp showStudent = new StudentImpDao(); public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { doPost(req, resp); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ServletContext servletContext = request.getServletContext(); // 创建工厂 DiskFileItemFactory dk = new DiskFileItemFactory(); // 创建文件上传解码器 ServletFileUpload fileUpload = new ServletFileUpload(dk); List<FileItem> list = null; // 将文件名放在外面是为了方便后面保存到对象中 Map<String, String> map = new HashMap<String, String>(); String saveName = null; try { // 解析上传的数据 得到的是一个集合 list = fileUpload.parseRequest(request); for (FileItem file : list) { // 判断该表单是不是普通的表单 if (file.isFormField()) { // 获得每个表单的name String fileName = file.getFieldName(); // 在获取表单里面的值 String fileValue = file.getString("utf-8"); // 将得到的值存入Map键值对中 map.put(fileName, fileValue); } else { // 不是的话就上传文件 // 得到上传的文件的名字 String fileName = file.getName(); // 解决文件乱码 fileName = new String(fileName.getBytes("iso-8859-1"), "utf-8"); // 得到需要将文件保存的目录 String savePath = this.getServletContext().getRealPath("/upload"); // 重新命名上传的文件 防止你再次上传的时候上传了同一个文件导致覆盖了以前的文件名 saveName = System.currentTimeMillis() + fileName.substring(fileName.lastIndexOf(".")); // 直接就写入文件 上传到服务器 file.write(new File(savePath + File.separator + saveName)); } } } catch (FileUploadException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } // 将信息保存到学生类中 StudentBean student = new StudentBean(); student.setStudentName(map.get("name")); student.setPwd(map.get("pwd")); student.setDenger(map.get("gender")); // 保存的是地址而不是图片的名字 student.setImg("upload/" + saveName); student.setLike(map.get("likes")); student.setEducational(map.get("selects")); // 添加学生 showStudent.addStudent(student); // 重新请求派发到展示学生资料的界面 request.getRequestDispatcher("/ShowStudentsInformationSever?pageNo=0").forward(request, response); }}
0 0
- HttpServlet实现上传文件
- HttpServlet上传文件
- HttpServlet怎么获取上传的文件
- javaweb HttpServlet上传文件功能代码
- servlet文件的压缩 HttpServlet
- HttpServlet实现文件的下载
- HttpServlet
- HTTPServlet
- HttpServlet
- httpServlet
- httpservlet
- HttpServlet
- HttpServlet
- HttpServlet
- HttpServlet
- HttpServlet
- HttpServlet
- HttpServlet
- 资深BAT工程师推荐 Android 大牛大神的 blog博客
- Spark 1.6.2 单机版安装配置
- COBOL data type buffer content
- win8/7精简版px4驱动安装失败
- NYOJ143逆康托展开
- HttpServlet上传文件
- MyBatis中的sqlsession和Mapper
- HDU 5918 Sequence I (2016-ccpc-长春)
- javeScript 单个(多个)文件的上传与下载
- Java8 - CopyOnWriteArrayList源码
- [Linux] 使用Wget安装JDK1.8
- COBOL parsing command-line options
- 栈和队列初学总结
- 多主机多站点情景下awstats日志分析