diff --git a/src/library.cr b/src/library.cr index 193863b..e850173 100644 --- a/src/library.cr +++ b/src/library.cr @@ -4,6 +4,8 @@ require "uri" require "./util" require "./archive" +SUPPORTED_IMG_TYPES = ["image/jpeg", "image/png", "image/webp"] + struct Image property data : Bytes property mime : String @@ -27,7 +29,7 @@ class Entry @size = (File.size path).humanize_bytes file = ArchiveFile.new path @pages = file.entries.count do |e| - ["image/jpeg", "image/png"].includes? \ + SUPPORTED_IMG_TYPES.includes? \ MIME.from_filename? e.filename end file.close @@ -72,7 +74,7 @@ class Entry ArchiveFile.open @zip_path do |file| page = file.entries .select { |e| - ["image/jpeg", "image/png"].includes? \ + SUPPORTED_IMG_TYPES.includes? \ MIME.from_filename? e.filename } .sort { |a, b| diff --git a/src/routes/api.cr b/src/routes/api.cr index 91438e2..4911c1b 100644 --- a/src/routes/api.cr +++ b/src/routes/api.cr @@ -224,7 +224,7 @@ class APIRouter < Router entry_id = env.params.query["entry"]? title = @context.library.get_title(title_id).not_nil! - unless ["image/jpeg", "image/png"].includes? \ + unless SUPPORTED_IMG_TYPES.includes? \ MIME.from_filename? filename raise "The uploaded image must be either JPEG or PNG" end diff --git a/src/views/title.ecr b/src/views/title.ecr index 803d023..ec201a6 100644 --- a/src/views/title.ecr +++ b/src/views/title.ecr @@ -72,7 +72,7 @@ Upload a cover image by dropping it here or
- + "> selecting one