Servlet3.0文件上传

来源:互联网 发布:php评论盖楼 编辑:程序博客网 时间:2024/06/05 23:02

在Servlet3.0之前上传文件需要借助第三方jar包才能实现,比如common-upload.jar和common-io.jar

但是在Servlet3.0之后上传文件变得很便捷,因为是特性提供的内置方法接口

Servlet3.0后,只需要在类前加上注解 @MultipartConfig 就可以指定该servlet具备上传特性

并且该注解提供了几个属性:

maxFileSize,maxRequestSize,location(将上传的文件保存到磁盘的指定位置,调用Part中write方法就会调用它),fileSizeThreshold(设定一个溢出值,超过这个值将写入磁盘)

这里有关于location的一个注意点:这里如果指定了location的值,那么在Part接口中write提供path属性后,如果path是绝对地址,那么文件写入这个绝对地址,如果是相对地址,则是相对于location的地址

下面是Part接口的方法:


以下是一个简短的demo

<%@ page language="java" contentType="text/html; charset=utf-8"    pageEncoding="utf-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>upload</title></head><body><form action="upload.do" method="post" enctype="multipart/form-data">filename:<input type="file" name="Image"><input type="submit" value="upload"></form></body></html>

运行结果:





0 0