springBoot 2.x 读取上传流文件

2018-09-12  本文已影响10人  如风_周

网上有很多上传文件的教程,使用很不舒服,所以写了这读取上传流文件的方法,方法输出为String类型

    /**
     * 读取流文件
     * @return
     * @throws IOException
     */
    public static String getFIle() throws IOException {
        // 读取流文件
        FileInputStream fis = new FileInputStream("F:\\test.txt");

        // 防止路径乱码   如果utf-8 乱码  改GBK     eclipse里创建的txt  用UTF-8,在电脑上自己创建的txt  用GBK
        InputStreamReader isr = new InputStreamReader(fis, "UTF-8");
        BufferedReader br = new BufferedReader(isr);

        // 设置一个接收的String
        StringBuffer strBuf = new StringBuffer();
        String line = null;
        while ((line = br.readLine()) != null) {
            strBuf.append(line);
        }
        String str= strBuf.toString();
        br.close();
        isr.close();
        fis.close();
        return str;
    }

图片上传功能方法

    /**
     * 文件上传功能
     * @return
     */
    @RequestMapping(value = "/upload", method = RequestMethod.POST)
    public void uploadImg(HttpServletRequest request, HttpServletResponse response, MultipartFile file)
            throws ServletException, IOException {
        // 文件名字
        System.out.println(file.getOriginalFilename());
        InputStream files = file.getInputStream();
        FileOutputStream out = new FileOutputStream(new File("E:\\" + file.getOriginalFilename() + ".jpeg"));
        // 每次读取的字节长度
        int n = 0;
        // 存储每次读取的内容
        byte[] bb = new byte[1024];
        while ((n = files.read(bb)) != -1) {
            // 将读取的内容,写入到输出流当中
            out.write(bb, 0, n);
        }
        // 关闭输入输出流
        out.close();
        files.close();

        DiskFileItemFactory factory = new DiskFileItemFactory();
        ServletFileUpload sfu = new ServletFileUpload(factory);
        // 处理中文问题
        sfu.setHeaderEncoding("UTF-8");
        // 限制文件大小
        sfu.setSizeMax(1024 * 1024 * 5);
        // 输出后路径
        String path = "";
        // 把文件写到指定路径
        path = "E:/" + File.separator;
        // 打印文件位置
        System.out.println(path);
    }
上一篇下一篇

猜你喜欢

热点阅读