springMVC使用MultipartFile上传文件报错
今天上传图片发现的问题,分享一波
springmvc使用MultipartFile上传文件报错
//因为http post文件流只可以接收读取一次,传输完毕则关闭流。 //方法一 //复制原始流 InputStream inputStream = file.getInputStream(); // InputStream 多个流...... = file.getInputStream(); //创建接收流对象 OutputStream outputStream = new FileOutputStream("需要写入文件的路径"); // 写入文件 inputStream.transferTo(outputStream); //方法二 //缓冲流 //BufferedOutputStream也内置了一个缓冲区(数组), //程序向流中写出字节时, 不会直接写到文件, 先写到缓冲区中, //直到缓冲区写满, BufferedOutputStream才会把缓冲区中的数据一次性写到文件里。 BufferedInputStream bis = new BufferedInputStream(file.getInputStream()); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream("需要写入文件的路径")); int b; while ((b = bis.read()) != -1) { bos.write(b); } bis.transferTo(bos); bis.close(); bos.close(); //补充知识 //flush和close方法的区别 //flush()方法 //用来刷新缓冲区的,刷新后可以再次写出,同一文件这样就可以多次写入 //close()方法 //用来关闭流释放资源的,如果是带缓冲区的流对象的close()方法,不但会关闭流,还会再关闭流之前刷新缓冲区,关闭后不能再写出 //注:带缓冲区的流对象若没有关闭流,则可能会导致缓冲区中的部分数据未刷新到文件中,导致写出数据丢失