HTML 用<input type="file">选择图片后端通过IO流把文件上传到页面去显示出来



```html


<form action="getpicture" method="post" enctype="multipart/form-data">
    <input type="file" name ="myfile"/>
    <input type="submit" value="上传" />
</form>


```java
package com.service.person;

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.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.UUID;


//上传一定要有MultipartConfig
@WebServlet("/getpicture")
@MultipartConfig
public class GetPicture extends HttpServlet {
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {


        // 1.上传用dopost 方法 用 part 封装 用 InputString读入数据
        Part part = request.getPart("myfile");

        // 2.获取头部信息
        String disposition = part.getHeader("Content-Disposition");

        // 3.设置一下UUID的随机数
        String suffix = disposition.substring(disposition.lastIndexOf("."),disposition.length()-1);
        //截取响应头的数据从点到最后一位数
        String filename = UUID.randomUUID()+suffix;
        //这个读出来的是点后面的后缀名
        System.out.println("后缀名 "+filename);

        // 4.输入流
        InputStream in = part.getInputStream();

        // 5.获取真时的路径也可以写成("/download/") 后面就不用+"/"  了
        String servletpath = request.getServletContext().getRealPath("/img");

        // 6.把文件放进输出流
        FileOutputStream out = new FileOutputStream(servletpath+"/"+filename);

        // 7.循环读取数据
        int len=0;

        byte bytes[] = new byte[1024];

        // 8.循环
        while((len=in.read(bytes)) != -1){
            out.write(bytes,0,len);

        }

        // 9.关闭
        in.close();
        out.close();

        response.setContentType("text/html;charset=UTF-8");
        response.getWriter().write("文件上传成功  /n" +" 文件路径 /n"+ servletpath);

        response.getWriter().write("文件  /n" +"<img src ="+servletpath+filename+">" );
        System.out.println(" 图片路径和名字  "+servletpath+filename);


    }

}


图片显示不出来,不知道怎么拿到图片的名称