文件的上传与下载

本文介绍了HTML中文件下载的基本实现,包括使用a标签下载链接,并详细讲解了单文件和多文件上传至服务器的过程,涉及Servlet和multipart/form-data编码。

文件的上传与下载

文件的下载

文件的下载就是一个a标签

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
	<center>
		<h1>文件下载</h1>
		<a href="****************">电影下载</a>   //href里是文件的下载地址
	</center>
</body>
</html>

文件的上传

上传的时候都是二进制文件(图片,声音,视频)

单文件上传

1.需要一个html页面或jsp页面。

<body>
	<center>
		<h1>单文件上传</h1>
		<form action="upFileServlet" method="post" enctype="multipart/form-data"></form>
		请你选择要上传的文件<input type="file" name="file">
		<input type="submit">
	</center>
</body>

2.写接收传输过来的文件

servlet 必须是用3.0以上的,否则没有getSubmittedFileName()

@WebServlet("/upFileServlet")
@MultipartConfig		 //二进制文件
public class UpFileServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		//接收前端传过来的文件
		Part part=req.getPart("file");
		File path=new File("D:/poto");//存储的位置
		//获取路径
		String filePath=path.getPath()+File.separator+part.getSubmittedFileName();
		System.out.println("上传上来要存储的路径:"+filePath);
		if(part.getSubmittedFileName().toLowerCase().endsWith(".jpg")
				||part.getSubmittedFileName().toLowerCase().endsWith(".png")) {
			part.write(filePath);
		}else {
			resp.getWriter().print("上传的文件格式不对");
		}
	}

多文件上传

<body>
	<center>
		<h1>多文件上传</h1>
		<form action="upFilesServlet" method="post" enctype="multipart/form-data">
		请选择要上传的文件<input type="file" name="file"><br>
		请选择要上传的文件<input type="file" name="file"><br>
		请选择要上传的文件<input type="file" name="file"><br>
		请选择要上传的文件<input type="file" name="file"><br>
		<input type="submit">
		</form>
	</center>
</body>
@WebServlet("/upFilesServlet")
@MultipartConfig
public class UpFilesServlet extends HttpServlet{
	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		Collection<Part> parts=req.getParts();
		File path=new File("D:/poto/");
		for (Part part : parts) {
			part.write(path+part.getSubmittedFileName());
		}
	}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值