一、文件上传的简介
1.1 什么是文件上传:把本地的文件存储到服务器上,这个过程称为文件上传,好比网盘服务器
1.2 如何实现文件上传mvc
1.3 使用到第三方组件实现,首先导入jar包jsp
(1)jspSmartUpload
= 适于嵌入执行上传下载操做的JSP文件中,模型一post
(2)fileUpload(模型二,mvc)
FileUpload 是 Apache commons下面的一个子项目,组件FileUpload依赖于Commons IO组件
(3)servlet3.0版本实现了文件上传.spa
1.4 文件上传时候,知足三个要求
第一个要求:表单提交方式 post
第二个要求:表单里面有 文件上传输入项,必须name属性 <input type="file" name="filename"/>
第三个要求:设置表单提交数据的类型 enctype,通常状况下不须要设置,只在上传时候须要设置
enctype="multipart/form-data"
最终的目的:把本地的文件的内容复制到服务器上面文件里面去code
二、代码实现文件的上传
orm
request.setCharacterEncoding("utf-8"); response.setCharacterEncoding("utf-8"); System.out.println("*****:"+request.getParameter("username")); //[1]获取文件上传的路径 String uploadPath = getServletContext().getRealPath("upload"); Part part = request.getPart("file"); //表明文件上传项 String fileHeader = part.getHeader("Content-Disposition"); //切割字符串 获取文件上传的名字 String[] files = fileHeader.split(";"); String[] splits = files[2].split("="); String fileUploadName = splits[1].substring(1, splits[1].length()-1); /*if (fileUploadName.contains("\\")) { int start = fileUploadName.lastIndexOf("\\")+1; fileUploadName.substring(start); }*/ System.out.println("fileUploadName:~~"+fileUploadName); //把获取到文件上传的内容上传到服务器 part.write(uploadPath+"/"+ fileUploadName);