1、jsp文件的上传主要依赖于org.apache.commons.fileupload包。其一般步骤是:
服务器端:
1)创建文件上传操作工厂
DiskFileItemFactory factory = new DiskFileItemFactory();
2)设置缓冲区的大小
factory.setSizeThreshold(1024*10);
3)设置上传组件
ServletFileUpload fileUpload = new ServletFileUpload(factory);
4)设置上传数据包的最大数据(即所占的内存大小)值
ServletFileUpload fileUpload = new ServletFileUpload(factory);
5)解析请求数据
List<FileItem>list = fileUpload.parseRequest(request);
6)获取输入流并保存文件并取得文件的真实路径
String realpath=request.getServletContext().getRealPath("/");
String filename=realpath+File.separator+item.getName();
OutputStream os=new FileOutputStream(new File(filename));
IOUtils.copy(item.getInputStream(),os);
2、客户端的代码程序:
客户端主要是利用form表单的enctype = " "属性
其属性值必须为:enctype="multipart/form-data"。才可以上传文件
其具体form表单代码示例如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>文件上传</title>
</head>
<body>
<form name="form1" method="post" enctype="multipart/form-data">
<input type="file" name="file1" />
<button type="submit">上传</button>
</form>
</body>
</html>
运行客户端会出现如下页面: