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()获取输出流。
本文详细介绍了如何在前端页面中创建文件上传表单,并在后端Servlet中接收和保存文件,包括设置请求方法和参数类型,以及从输入流中读取文件数据并保存到指定路径。
1万+

被折叠的 条评论
为什么被折叠?



