上传:apache:commons-fileupload.jar组件(依赖于commons-io.jar)
代码:前台:jsp:<input type="file" name="spicture">
注意:表单提交方式必须是post
在表单中必须添加一个属性 enctype="multipart/form-data"
后台servlet:
注意的问题:上传的目录upload:
1.如果修改代码,则在tomcat重启时会被删除
原因:当修改代码的时候,tomcat会重新编译一份class,并且重新部署(重新创建各种目录)
2.如果不修改代码,则不会被删除
原因:没有修改代码,class仍然是之前的目录
所以上传路径不放在tomcat中,可以解决这个问题
限制上传文件类型和大小:
加个判断:
String filename = item.getName(); String ext=fileName.subString(fileName.indexof(".")+1); if(!(ext.equals("png")||ext.equals("gif")||ext.equals("jpg"))){ System.out.println("图片格式有误!") return; } upload.parseRequest(request);
注意,对文件的限制应该写在parseRequest之前
下载:不需要依赖任何jar
a.请求(地址a form),请求Servlet
b.Servlet通过文件的地址,将文件转为输入流,读到Servlet