上传功能:
jsp页面
请求方式一定是post
<form action="uploadServlet" method="post" enctype="multipart/form-data">
File:<input type="file" name="file"/>
Desc:<input type="desc" name="desc"/>
<input type="submit" value=Submit"/>
</form>
Servlet代码:(利用fileupload相关组件)
//创建FileFactory的工厂
FileItemFactory factory = new DiskFileItemFactory();
File tempDirectory = new File("d:\\tempDirectory");
factory.setRepository(tempDirectory);
ServletFileUpload upload = new ServletFileUpload(factory);
//解析请求
List items = upload.parseRequest(request);
for(FileItem item:items){
//若是一般的表单域,打印信息
if(item.isFormFiled()){
String name = item.getFiledName();
String value = item.getString();
}
else{
String fieldName = item.getFiledName();
String fileName = item.getName();
InputStream in = item.getInputStream();
byte[] buffer = new byte[1024];
int len = 0;
fileName = "d:\\files\\"+fileName;
OutputStream out = new FileOutputStream(fileName);
while((len = in.read(buffer))!= -1){
out.write(buffer,0,len);
}
out.close();
in.close();
}
}
FileItemFactory和ServletFileUpload里面有方法可以做文件大小的限定