1. 在前台页面中:
<form action="<%=request.getContextPath()%>/fileupload" method="post" enctype="multipart/form-data">
上传文件:<input type="file" name="file1" value="上传文件" /><br/>
<input type="submit" value="提交"/>
</form>
其中,method必须设置为post,enctype必须设置为multipart/form-data,这种情况下,后台不能通过getParamter(String name)获取传值。
2. 在后台Servlet中:
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
ServletInputStream sis = req.getInputStream();
String savePath = this.getServletContext().getRealPath("/123.txt");
FileOutputStream fos = new FileOutputStream(savePath);
byte[] media = new byte[1024];
int length = sis.read(media, 0, 1024);
while(length != -1)
{
fos.write(media, 0, length);
length = sis.read(media, 0, 1024);
}
fos.close();
sis.close();
}
使用HttpServletRequest的getInputStream()获取输出流。