diff --git a/docs-core/src/main/java/com/sismics/docs/core/util/PdfUtil.java b/docs-core/src/main/java/com/sismics/docs/core/util/PdfUtil.java index 86d22da2..f1268545 100644 --- a/docs-core/src/main/java/com/sismics/docs/core/util/PdfUtil.java +++ b/docs-core/src/main/java/com/sismics/docs/core/util/PdfUtil.java @@ -64,7 +64,7 @@ public class PdfUtil { PDFTextStripper stripper = new PDFTextStripper(); pdfDocument = PDDocument.load(inputStream); content = stripper.getText(pdfDocument); - } catch (IOException e) { + } catch (Exception e) { log.error("Error while extracting text from the PDF", e); } finally { if (pdfDocument != null) { diff --git a/docs-core/src/main/java/com/sismics/util/mime/MimeType.java b/docs-core/src/main/java/com/sismics/util/mime/MimeType.java index b85517ef..b844aced 100644 --- a/docs-core/src/main/java/com/sismics/util/mime/MimeType.java +++ b/docs-core/src/main/java/com/sismics/util/mime/MimeType.java @@ -19,4 +19,6 @@ public class MimeType { public static final String OPEN_DOCUMENT_TEXT = "application/vnd.oasis.opendocument.text"; public static final String OFFICE_DOCUMENT = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; + + public static final String DEFAULT = "application/octet-stream"; } diff --git a/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java b/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java index 2eb5f079..c784de77 100644 --- a/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java +++ b/docs-core/src/main/java/com/sismics/util/mime/MimeTypeUtil.java @@ -60,7 +60,7 @@ public class MimeTypeUtil { return MimeType.APPLICATION_PDF; } - return null; + return MimeType.DEFAULT; } /** diff --git a/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java b/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java index f27c87f7..8734fea7 100644 --- a/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java +++ b/docs-web/src/main/java/com/sismics/docs/rest/resource/FileResource.java @@ -41,6 +41,7 @@ import java.io.ByteArrayInputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.net.URISyntaxException; import java.nio.file.Files; import java.nio.file.Paths; import java.text.MessageFormat; @@ -129,10 +130,7 @@ public class FileResource extends BaseResource { } catch (IOException e) { throw new ServerException("ErrorGuessMime", "Error guessing mime type", e); } - if (mimeType == null) { - throw new ClientException("InvalidFileType", "File type not recognized"); - } - + // Validate quota if (user.getStorageCurrent() + fileData.length > user.getStorageQuota()) { throw new ClientException("QuotaReached", "Quota limit reached"); @@ -535,7 +533,11 @@ public class FileResource extends BaseResource { mimeType = MimeType.IMAGE_JPEG; // Thumbnails are JPEG decrypt = true; // Thumbnails are encrypted if (!Files.exists(storedFile)) { - storedFile = Paths.get(getClass().getResource("/image/file.png").getFile()); + try { + storedFile = Paths.get(getClass().getResource("/image/file.png").toURI()); + } catch (URISyntaxException e) { + // Ignore + } mimeType = MimeType.IMAGE_PNG; decrypt = false; } diff --git a/docs-web/src/main/webapp/src/partial/docs/document.view.content.html b/docs-web/src/main/webapp/src/partial/docs/document.view.content.html index 15127f09..cc58fdee 100644 --- a/docs-web/src/main/webapp/src/partial/docs/document.view.content.html +++ b/docs-web/src/main/webapp/src/partial/docs/document.view.content.html @@ -39,7 +39,7 @@