145 final Path outputFile = outputFolder.resolve(baseFileName +
".jpg");
147 if (context.fileIngestIsCancelled()) {
152 this.heifJNI.
convertToDisk(heifBytes, outputFile.toString());
153 }
catch (IllegalArgumentException | IllegalStateException ex) {
154 logger.log(Level.WARNING, MessageFormat.format(
"There was an error processing {0} (id: {1}).", heicFile.getName(), heicFile.getId()), ex);
156 }
catch (Throwable ex) {
157 logger.log(Level.SEVERE, MessageFormat.format(
"A severe error occurred while processing {0} (id: {1}).", heicFile.getName(), heicFile.getId()), ex);
161 if (context.fileIngestIsCancelled()) {
167 List<File> files = (List<File>) FileUtils.listFiles(outputFolder.toFile(),
new String[]{
"jpg",
"jpeg"},
true);
168 for (File file : files) {
169 if (context.fileIngestIsCancelled()) {
173 Path candidate = file.toPath();
175 final BasicFileAttributes attrs = Files.readAttributes(candidate, BasicFileAttributes.class);
176 final Path localCasePath = caseDirectory.relativize(candidate);
179 .addDerivedFile(candidate.getFileName().toString(),
180 localCasePath.toString(), attrs.size(), 0L,
181 attrs.creationTime().to(TimeUnit.SECONDS),
182 attrs.lastAccessTime().to(TimeUnit.SECONDS),
183 attrs.lastModifiedTime().to(TimeUnit.SECONDS),
184 attrs.isRegularFile(), heicFile,
"",
185 "",
"",
"", TskData.EncodingType.NONE);
187 context.addFilesToJob(Arrays.asList(jpegFile));