diff --git a/ccm-cms/src/main/java/org/librecms/assets/BinaryAssetBlobDataProvider.java b/ccm-cms/src/main/java/org/librecms/assets/BinaryAssetBlobDataProvider.java index 189d41546..c1c469c9a 100644 --- a/ccm-cms/src/main/java/org/librecms/assets/BinaryAssetBlobDataProvider.java +++ b/ccm-cms/src/main/java/org/librecms/assets/BinaryAssetBlobDataProvider.java @@ -81,9 +81,10 @@ public class BinaryAssetBlobDataProvider implements BinaryAssetDataProvider { final Blob blob = resultSet.getBlob("asset_data"); try ( InputStream inputStream = blob.getBinaryStream()) { byte[] buffer = new byte[8192]; - int length; - while ((length = inputStream.read(buffer)) != -1) { + int length = inputStream.read(buffer); + while (length != -1) { outputStream.write(buffer, 0, length); + length = inputStream.read(buffer); } } } @@ -109,13 +110,24 @@ public class BinaryAssetBlobDataProvider implements BinaryAssetDataProvider { final Path tmpFilePath = Files.createTempFile("upload", fileName); int fileSize = 0; try ( OutputStream outputStream = Files.newOutputStream(tmpFilePath)) { - int length; byte[] buffer = new byte[8192]; - while ((length = inputStream.read(buffer)) != -1) { - outputStream.write(buffer); + int length = inputStream.read(buffer); + fileSize += length; + while(length != -1) { + outputStream.write(buffer, 0, length); + length = inputStream.read(buffer); fileSize += length; } - outputStream.flush(); +// while ((length = inputStream.read(buffer)) != -1) { +// outputStream.write(buffer); +// fileSize += length; +// } +// int dataByte = inputStream.read(); +// while (dataByte != -1) { +// fileSize++; +// outputStream.write(dataByte); +// dataByte = inputStream.read(); +// } } final Blob data = BlobProxy.generateProxy( diff --git a/ccm-cms/src/main/java/org/librecms/assets/ImageService.java b/ccm-cms/src/main/java/org/librecms/assets/ImageService.java index a4956840f..249765601 100644 --- a/ccm-cms/src/main/java/org/librecms/assets/ImageService.java +++ b/ccm-cms/src/main/java/org/librecms/assets/ImageService.java @@ -26,6 +26,9 @@ import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.OutputStream; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.Iterator; import javax.enterprise.context.Dependent; @@ -126,12 +129,18 @@ public class ImageService { ); } - return outputStream.toByteArray(); + final byte[] result = outputStream.toByteArray(); +// try { +// Files.delete(tmpFilePath); +// } catch (IOException ex) { +// LOGGER.warn("Failed to delete temporary file.", ex); +// } + return result; } private java.awt.Image scaleImage( - final BufferedImage image, + final BufferedImage image, final float scaleToWidth, final float scaleToHeight ) { diff --git a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/image/edit-image.xhtml b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/image/edit-image.xhtml index 6096ec2ac..41b5e592b 100644 --- a/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/image/edit-image.xhtml +++ b/ccm-cms/src/main/resources/WEB-INF/views/org/librecms/ui/contentsection/assets/image/edit-image.xhtml @@ -112,7 +112,7 @@ -
+
#{CmsAssetsStepsDefaultMessagesBundle['image.editstep.preview.alt']}