网络

教育改变生活

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 200|回复: 0
打印 上一主题 下一主题

【JAVA WEB应用开发】14-1文件上传

[复制链接]

354

主题

355

帖子

1464

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1464
跳转到指定楼层
楼主
发表于 2023-5-17 09:30:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
文件上传,后台代码
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;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Collection;
@WebServlet(name="upload",urlPatterns={"/upload"})
//处理文件上传的Servlet需要使用@MultipartConfig注解来修饰
@MultipartConfig
public class UploadServlet extends HttpServlet {
    public void service (HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
        response.setContentType("text/html; charset=GBK");
        //设置响应的报头信息
        PrintWriter out = response.getWriter();
        //获取响应的对象输出流
        request.setCharacterEncoding("GBK");
        //对客户端请求进行重新编码
        Part part = request.getPart("file");
        //获取指定的文件上传域。若为getParts()则可以获取所有的文件上传域
        out.println("上传文件的类型为:"+part.getContentType()+"<br/>");
        //获取part上传文件的文件类型
        Collection<String> headerNames = part.getHeaderNames();
        //part.getHeaderNames()获取文件上传域的Header Name
          for(String headerName : headerNames){
           out.println(headerName+"--->"+part.getHeader(headerName)+"<br/>");
       }
        String fileNameInfo = part.getHeader("content-disposition");
        String fileName=fileNameInfo.substring(fileNameInfo.indexOf("filename=\"")+13,fileNameInfo.length() - 1);
        System.out.print(getServletContext().getRealPath("/uploadFiles")+"/"+fileName);
        part.write(getServletContext().getRealPath("/uploadFiles")+"/"+fileName);
    }
}
前端代码:
<%@ page contentType="text/html; charset=GBK" language="java" errorPage="" %>
<!DOCTYPE html>
<html>
<head>
  <title>文件上传</title>
</head>
<body>
<form method="post" action="upload" enctype="multipart/form-data">
  选择文件:<input type="file" id="file" name="file" /><br/>
  <input type="submit" value="上传" /><br/>
</form>
</body>
</html>

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

WEB前端

QQ|手机版|小黑屋|金桨网|助学堂  咨询请联系站长。

GMT+8, 2024-4-30 16:24 , Processed in 0.073170 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表