2021-11-25 文件上传

文件上传

步骤

1.添加@MultipartConfig文件上传的注解

2.调用getPart()方法获取页面传来的文件,得到Part对象

3.使用Part对象的write()方法来执行文件上传

4.使用getSubmittedFileName()方法来获取上传的文件名

5.给页面表单加上enctype="multipart/form-data"属性

@MultipartConfig
@WebServlet("/upload")
public class UploadController extends HttpServlet {

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //创建目录
        File file = new File(getServletContext().getRealPath("/")+"\\upload");
        if(!file.exists()){
            file.mkdirs();
        }

        /*
            单文件
        Part part = req.getPart("myFile");
        System.out.println(part.getSize());
        //执行上传
        pp.write(file.getPath() +"\\"+ getFile(p.getSubmittedFileName()));*/


        //多文件
        Collection<Part> parts = req.getParts();
        for(Part p : parts){
            p.write(file.getPath() +"\\"+ getFile(p.getSubmittedFileName()));
        }


    }

    //截取后缀并创建新的文件名
    private String getFile(String filename){
        return new Date().getTime() + filename.substring(filename.lastIndexOf("."));
    }
}
   <%--文件上传
        method 必须 post
        enctype 必须指定  multipart/form-data
    --%>
    <form action="/upload" method="post" enctype="multipart/form-data">
        <%--3个文件 name同不同名都行--%>
        <input type="file" name="myFile"/>
        <input type="file" name="myFile1"/>
        <input type="file" name="myFile2"/>
        <input type="submit"/>
    </form>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值