前端jsp页面:
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
<title>上传文件</title>
</head>
<body>
<form action="up" enctype="multipart/form-data" method="post">
<input type="file" id="file" name="file">
<input type="submit" value="上传">
</form>
</body>
</html>
后端Java,使用的servlet,选择上传文件页面的后端代码:
package com.xiaoyi.up;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/Upload")
public class Upload extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//跳转到选择文件的页面
req.getRequestDispatcher("upFile.jsp").forward(req, resp);
}
}
点击上传按钮,开始上传java后端代码:
package com.xiaoyi.up;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import javax.servlet.ServletException;
import javax.servlet.annotation.MultipartConfig;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.Part;
@WebServlet("/up")
@MultipartConfig
public class Up extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//获取文件
Part part = req.getPart("file");
//创建输入流,读取文件
InputStream in = part.getInputStream();
//创建输出流,写入文件
OutputStream out = new FileOutputStream("d:/test/1/2.wmv");
//缓冲流
BufferedInputStream bi = new BufferedInputStream(in);
BufferedOutputStream bo = new BufferedOutputStream(out);
byte[] bytes = new byte[1024 * 1024 * 1];
int count = 0;
while((count = bi.read(bytes)) != -1){
//将读取的内容写入到文件中
bo.write(bytes, 0, count);
}
bi.close();
bo.close();
//跳转上传成功之后提示页面
req.getRequestDispatcher("success.jsp").forward(req, resp);
}
}