实现上传功能

思路:在jsp中创建一个表单,用于提交数据,创建一个servlet获取数据并用IO流进行读写到相应的路径。

实现步骤及代码:
1.在jsp中

enctype表示表单中的数据项的编码方式
application/x-www-form-urlencoded:以"aaa=bbb&&ccc=ddd"的格式编码
multipart/form-data + post请求的数据,servlet获取数据应通过流获取数据(request.getInputStream())

<form action="upload.do" method="post" enctype="multipart/form-data">
                 用户名:<input type="text" name="username" /><br>
                上转文件:<input type="file" name="myfile" /><br>
                <button>提交</button>          
  </form>

2.在servlet中
注意:

   在类前必须有:@MultipartConfig ,否则无法运行

        //web3.0之后,servlet提供了一套方便解析multipart的数据的解决方案//获取请求参数名并输出
        System.out.println(request.getParameter("username"));//获取图片数据,并将其写入相应路径中
        Part part2 = request.getPart("myfile");
        System.out.println(part2.getName());
        System.out.println(part2.getSize());
        InputStream in = part2.getInputStream();
        FileOutputStream out = new FileOutputStream("d:/321.jpg"); 
        int len = 0;
        byte flush[] = new byte[1024*10];
        while ((len = in.read(flush)) != -1) {
            out.write(flush, 0, len);
        }


原文地址:https://www.cnblogs.com/su-chu-zhi-151/p/11234895.html