文件上传其实非常的简单,无非就是输入流与输出流的操作
第一步:首先获取到一个文件输入流:(上传的源文件)
第二步:得到一个输出文件的流:(保存后的文件)
第四步:由输出流写出读到的输入流。
第五步:关闭流。
简单的文件上传保存到服务器或从服务器获取文件保存到本地无非就这五步:
废话不多说。直接上代码;
/** * @param inputStream 输入流 * @param savePath 需要保存的文件路径 * @param saveFile 需要保存的文件名 * @return */ public static boolean saveFile(InputStream inputStream, String savePath, String saveFile) { boolean bool = false; BufferedInputStream bfinut = null; BufferedOutputStream bfout = null; try { OutputStream outputStream = new FileOutputStream(savePath + saveFile); //用下面这两个方法操作,速度非常快 bfinut = new BufferedInputStream(inputStream); bfout = new BufferedOutputStream(outputStream); byte[] bytes = new byte[1024 * 1024]; int r = 0; while ((r = bfinut.read()) != -1) { bfout.write(r);
//bfout.write(bytes,0,r); } bool = true; } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { bfout.close(); bfinut.close(); } catch (IOException e) { e.printStackTrace(); } } return bool; }
如果用springmvc中的
MultipartFile 上传,很简单,有两种方法:用他的transferTo(file)方法,也可以获得 inputStream
图片上传 可判定图片的长度宽度
BufferedImage bis = ImageIO.read(img);
int w = bis.getWidth();
int h = bis.getHeight();