From e69fd032420bd8f4924e41e6d5b4605fe0859bc9 Mon Sep 17 00:00:00 2001 From: Jesper Zedlitz <jesper@zedlitz.de> Date: Wed, 24 Mar 2021 13:32:02 +0100 Subject: [PATCH] fehlenden mimetype tolerieren Dateiname bei resource-create richtig als UTF-8 senden --- pom.xml | 2 +- src/main/java/de/landsh/opendata/ckan/CkanAPI.java | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index aa01f22..5b5f0bb 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ <groupId>de.landsh.opendata</groupId> <artifactId>dcat-uploader</artifactId> - <version>1.0</version> + <version>1.0.2</version> <build> <plugins> diff --git a/src/main/java/de/landsh/opendata/ckan/CkanAPI.java b/src/main/java/de/landsh/opendata/ckan/CkanAPI.java index 928b9b4..657be12 100644 --- a/src/main/java/de/landsh/opendata/ckan/CkanAPI.java +++ b/src/main/java/de/landsh/opendata/ckan/CkanAPI.java @@ -328,7 +328,7 @@ public class CkanAPI { builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE); builder.setCharset(StandardCharsets.UTF_8); builder.addPart("package_id", new StringBody(packageId, ContentType.MULTIPART_FORM_DATA)); - builder.addPart("name", new StringBody(name, ContentType.MULTIPART_FORM_DATA)); + builder.addPart("name", new StringBody(name, ContentType.create("multipart/form-data", StandardCharsets.UTF_8))); builder.addPart("format", new StringBody(format, ContentType.MULTIPART_FORM_DATA)); builder.addPart("upload", new FileBody(file, ContentType.create(mimeType), name)); builder.addPart("hash", new StringBody(checksum, ContentType.MULTIPART_FORM_DATA)); @@ -365,7 +365,9 @@ public class CkanAPI { resource.setName(resourceJSON.getString("name")); resource.setChecksum(StringUtils.trimToNull(resourceJSON.getString("hash"))); resource.setFormat(resourceJSON.getString("format")); - resource.setMimeType(resourceJSON.getString("mimetype")); + if (resourceJSON.has("mimetype") && !resourceJSON.isNull("mimetype")) { + resource.setMimeType(resourceJSON.getString("mimetype")); + } resource.setId(resourceJSON.getString("id")); resource.setByteSize(NumberUtils.toLong(Objects.toString(resourceJSON.get("size")))); -- GitLab