美文网首页
springBoot 2.x 读取上传流文件

springBoot 2.x 读取上传流文件

作者: 如风_周 | 来源:发表于2018-09-12 09:23 被阅读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);
        }
    

    相关文章

      网友评论

          本文标题:springBoot 2.x 读取上传流文件

          本文链接:https://www.haomeiwen.com/subject/cwyuwftx.html