diff --git a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java index 55ff19c4..29d11fe0 100644 --- a/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java +++ b/oh-my-scheduler-server/src/main/java/com/github/kfcfans/oms/server/persistence/mongodb/GridFsManager.java @@ -78,12 +78,13 @@ public class GridFsManager { public void download(File targetFile, String bucketName, String fileName) throws IOException { if (available()) { GridFSBucket bucket = getBucket(bucketName); - byte[] buffer = new byte[1024]; try (GridFSDownloadStream gis = bucket.openDownloadStream(fileName); BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(targetFile)) ) { - while (gis.read(buffer) != -1) { - bos.write(buffer); + byte[] buffer = new byte[1024]; + int bytes = 0; + while ((bytes = gis.read(buffer)) != -1) { + bos.write(buffer, 0, bytes); } bos.flush(); }