SmartUpload
su=new
SmartUpload()
//上传初始化
su.initialize(pageContext)
//设定上传限度
//1.限定每个上传文件的最大长度
//su.setMaxFileSize(100000)
//2.限制总上传数据的长度。
//su.setTotalMaxFileSize(20000)
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//su.setAllowFilesList("doc,text")
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件或没有扩展名的文件基核运
//su.setDeniedDilesList("exe,bat,jsp,html,htm,,")
//上传文件
su.upload()
//将上传文件全部保存到指定目录
int
count=su.save("/upload")
out.println(count+"个上传文件成功!<br>")
//利用Request对象获取参数之值
out.println("test="+su.getRequest().getParameter("test")+"<br><br>")
//逐一提取上传文件信息,同时可保存文件。
for(int
i=0i<su.getFiles().getCount()i++)
{
com.jspsmart.upload.File
file=su.getFiles().getFile(i)
//若文件不存在则继续
if(file.isMissing())
continue
//显示当前文件信息
out.println("<table
border=1>")
out.println("<tr><td>表单项名(FiledName)</td><td>"+file.getFieldName()+"</tr></tr>")
out.println("<tr><td>文件长度(Size)</td><td>"+file.getSize()+"</td><td>")
out.println("<tr><td>文件名(FileName)</td>搏梁<td>"+file.getFileName()+"</tr></tr>")
out.println("<tr><td>文件扩展名(FiledExt)</td><td>"+file.getFileExt()+"</tr></tr>")
out.println("<tr><td>文件全名(FiledPathName)</td><氏碧td>"+file.getFilePathName()+"</tr></tr>")
out.println("</table><br>")
//将文件另存
//file.saveAs("/upload/"+myFile.getFileName())
//另存到以web应用程序的根目录为文件根目录的目录下
//file.saveAs("/upload/"+myFile.getFileName(),su.SAVE_VIRTUAL)
//另存到 *** 作系统的根目录为文件根目录的目录下
//file.safeAs("c://temp//"+myFile.getFileName(),su.SAVE_PHYSICAL)
}
上面就是了。。。。祝你好运哈!
参考文章:
https://www.cnblogs.com/yunliu0603/p/9504756.html
https://www.cnblogs.com/tengyunhao/p/7670293.html
注意:
单文件 MultipartFile file;
多文件 MultipartFile[] file;
判断文件是否为空:!file.isEmpty() --->不为空
获取上传文件名:String originalFilename = file.getOriginalFilename() 包括文件名的后缀
文件保存路径:String filePath = request.getServletContext().getRealPath("/") + "upload/" + originalFilename
初始化文件信息:File newFile = new File(filePath)
创建目录:newFile.getParentFile().mkdir()
转存文件:file.transferTo(newFile)
步骤:
1.编写一个控制类;
2.编写提交表哗尺单的 action 方法,并使用 SpringMVC 注解 @RequestParam 来指定表单中的 file 参数;
3.指定一个用于保存文件的 web项目路径;
4.通过 MultipartFile 的 transferTo() 来转存文件到相应的路径;
5.编写 form 表单;
6.在 springMVC 配置文件中,定义文件上传解析器;
springMVC配置文件:
MultipartResolver 用于处理文件上传,当收到请求时 DispatcherServlet 的 checkMultipart() 方法会调用 MultipartResolver 的 isMultipart() 方法判断请求中是否包含文件。如果请求数据中包含文件,则调用 MultipartResolver 的 resolveMultipart() 方法对请求的数据进行解析,然后将文件数据解析成 MultipartFile 并封装在 MultipartHttpServletRequest (继承了 HttpServletRequest) 对象中,最后传递给 Controller。
MultipartResolver 是一个接口大乎,它的实现类如下图所示,分为 CommonsMultipartResolver 类和 StandardServletMultipartResolver 类。
其中 CommonsMultipartResolver 使用 commons Fileupload 来处理 multipart 请求,所以在使用时,必须要引入相应的 jar 包;
而 StandardServletMultipartResolver 是基于 Servlet 3.0来处理 multipart 请求的,所以不需要引用其他 jar 包,但是必须使用支持 Servlet 3.0的容器才可以,以tomcat为例,从 Tomcat 7.0.x的版乱仿高本开始就支持 Servlet 3.0了。
关于 MultipartResolver 的具体讲解,参考: https://www.cnblogs.com/tengyunhao/p/7670293.html
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)