diff --git a/DynmapCore/src/main/java/org/dynmap/storage/aws_s3/AWSS3MapStorage.java b/DynmapCore/src/main/java/org/dynmap/storage/aws_s3/AWSS3MapStorage.java index 577ed2fc2..23ca1971d 100644 --- a/DynmapCore/src/main/java/org/dynmap/storage/aws_s3/AWSS3MapStorage.java +++ b/DynmapCore/src/main/java/org/dynmap/storage/aws_s3/AWSS3MapStorage.java @@ -138,9 +138,9 @@ public boolean write(long hash, BufferOutputStream encImage, long timestamp) { s3.deleteObject(req); } else { - PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType(map.getImageFormat().getEncoding().getContentType()) + PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType(map.getImageFormat().getEncoding().getContentType()) .addMetadata("x-dynmap-hash", Long.toHexString(hash)).addMetadata("x-dynmap-ts", Long.toString(timestamp)).build(); - s3.putObject(req, RequestBody.fromBytes(encImage.buf)); + s3.putObject(req, RequestBody.fromBytes(Arrays.copyOf(encImage.buf, encImage.len))); } done = true; } catch (S3Exception x) { @@ -529,7 +529,7 @@ public boolean setPlayerFaceImage(String playername, FaceType facetype, } else { PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType("image/png").build(); - s3.putObject(req, RequestBody.fromBytes(encImage.buf)); + s3.putObject(req, RequestBody.fromBytes(Arrays.copyOf(encImage.buf, encImage.len))); } done = true; } catch (S3Exception x) { @@ -582,7 +582,7 @@ public boolean setMarkerImage(String markerid, BufferOutputStream encImage) { } else { PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType("image/png").build(); - s3.putObject(req, RequestBody.fromBytes(encImage.buf)); + s3.putObject(req, RequestBody.fromBytes(Arrays.copyOf(encImage.buf, encImage.len))); } done = true; } catch (S3Exception x) { @@ -611,8 +611,8 @@ public boolean setMarkerFile(String world, String content) { s3.deleteObject(delreq); } else { - PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType("application/json").build(); - s3.putObject(req, RequestBody.fromBytes(content.getBytes(StandardCharsets.UTF_8))); + PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType("application/json").build(); + s3.putObject(req, RequestBody.fromString(content)); } done = true; } catch (S3Exception x) { @@ -745,7 +745,7 @@ else if (fileid.endsWith(".js")) { ct = "application/x-javascript"; } PutObjectRequest req = PutObjectRequest.builder().bucketName(bucketname).key(baseKey).contentType(ct).build(); - s3.putObject(req, RequestBody.fromBytes(content.buf)); + s3.putObject(req, RequestBody.fromBytes(Arrays.copyOf(content.buf, content.len))); standalone_cache.put(fileid, digest); } done = true;