Skip to content

Commit

Permalink
✨ Feat: specify attributes on tmp file
Browse files Browse the repository at this point in the history
  • Loading branch information
mattboll committed Oct 18, 2024
1 parent 9b9f656 commit 35c7761
Showing 1 changed file with 7 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,11 @@
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.attribute.FileAttribute;
import java.nio.file.attribute.PosixFilePermission;
import java.nio.file.attribute.PosixFilePermissions;
import java.util.List;
import java.util.Set;
import java.util.UUID;

@Service
Expand Down Expand Up @@ -87,13 +91,14 @@ public File addFile(MultipartFile multipartFile, Document document) throws IOExc
@Override
public InputStream convertHeicToJpg(InputStream heicInputStream) throws IOException {
String tmpImageName = UUID.randomUUID().toString();
java.io.File heicFile = java.io.File.createTempFile(tmpImageName, ".heic");
FileAttribute<Set<PosixFilePermission>> attr = PosixFilePermissions.asFileAttribute(PosixFilePermissions.fromString("rwx------"));
java.io.File heicFile = java.nio.file.Files.createTempFile(tmpImageName, ".heic", attr).toFile();

try (FileOutputStream fileOutputStream = new FileOutputStream(heicFile)) {
IOUtils.copy(heicInputStream, fileOutputStream);
}

java.io.File jpgFile = java.io.File.createTempFile(tmpImageName, ".jpg");
java.io.File jpgFile = java.nio.file.Files.createTempFile(tmpImageName, ".jpg", attr).toFile();

// Use ImageMagick to convert .heic to .jpg
ProcessBuilder processBuilder = new ProcessBuilder(imageMagickConfig.getImageMagickCli(), heicFile.getAbsolutePath(), jpgFile.getAbsolutePath());
Expand Down

0 comments on commit 35c7761

Please sign in to comment.