基于基于Java文件输入输出流实现文件上传下载功能文件输入输出流实现文件上传下载功能
主要为大家详细介绍了基于Java文件输入输出流实现文件上传下载功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
本文为大家分享了Java实现文件上传下载功能的具体代码,供大家参考,具体内容如下
前端通过form表单的enctype属性,将数据传递方式修改为二进制”流“的形式,服务端(servlet)通过 getInputStream() 获取流信息, 运用java I/O 流的基础操作将流写入到一个服务端临时创建
的文件temp中,然后再次利用文件基本操作,读取并截取临时文件内容,根据其中信息创建相应的文件,将读取出来的具体信息写入,下载时,根据提交的文件名称,找到服务器端相应的文
件,然后根据输出流outStream输出到页面,同时将servlet的响应类型和响应头进行设置。
具体传输流程如下图:
流信息的部分为:
具体代码如下:
前端代码:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
<script src="Js/jquery.js"></script>
</head>
<body>
<form action="FileUpServlet" method="post" enctype="multipart/form-data">
<table>
<tr>
<td>请选择上传文件:</td><td><input id="myfile" name="myfile" type="file" value="" /></td>
<td><input type="submit" value="上传"></td>
</tr>
<tr><td>${info}</td></tr>
</table>
</form>
文件下载:<a href="FileLoadownServlet?filename=${filename}">${filename}</a>
</body>
</html>
上传servlet部分(核心)
@WebServlet("/FileUpServlet")
public class FileUpServlet extends HttpServlet {
private static final long serialVersionUID = 1L;