使用smartupload.jar实现文件上传

1.将jar包添加到项目中:smartupload.jar

2.准备上传的页面

image.png

注:(1)form标签中要添加enctype属性
(2)提交方式必须是post

3.开始获取数据,保存文件

步骤:
1.创建servlet
2.创建new上传文件的对象smartUpload
3.初始化上传操作
PageContext pageContext = JspFactory.getDefaultFactory()
.getPageContext(this, req, resp, null, false, 1024, true);

smartUpload.initialize(pageContext);

4.设置编码setCharset
5.上传到服务器upload
6.获得文件信息
7.指定上传路径saveAs
8.跳转成功页面
image.png

注意: (1)此时如果表单中有其他数据时,不能通过request直接获取,需要通过SmartUpload对象获取
(2解决乱码: new String(name.getBytes(“GBK”),”utf-8”)

smartupload常用方法

image.png

文件下载

步骤:
1.获取下载文件和编写路径
2.设置响应的头信息和响应信息
response.setContentType(“application/octet-stream”); //将响应的内容设置为通用的二进制流
//attachment:告诉浏览器以附件的形式下载(弹出下载框)
resp.addHeader(“Content-Disposition”,”attachment;filename=”+ URLEncoder.encode(“UTF-8”));
3.跳转页面
4.清空缓存区

image.png