@Override protected boolean createEmptyObject(String key) { try { ObjectMetadata meta = new ObjectMetadata(); meta.setContentLength(0); meta.setContentMD5(DIR_HASH); meta.setContentType(Mimetypes.MIMETYPE_OCTET_STREAM); mClient.putObject( new PutObjectRequest(mBucketName, key, new ByteArrayInputStream(new byte[0]), meta)); return true; } catch (AmazonClientException e) { LOG.error("Failed to create object: {}", key, e); return false; } }
meta.setContentMD5(new String(Base64.encode(mHash.digest())));
public static ObjectMetadata simpleUploadFile(S3Client client, byte[] bytes, String bucket, String key) throws Exception { byte[] md5 = md5(bytes, bytes.length); ObjectMetadata metadata = new ObjectMetadata(); metadata.setContentLength(bytes.length); metadata.setLastModified(new Date()); metadata.setContentMD5(S3Utils.toBase64(md5)); PutObjectRequest putObjectRequest = new PutObjectRequest(bucket, key, new ByteArrayInputStream(bytes), metadata); PutObjectResult putObjectResult = client.putObject(putObjectRequest); if ( !putObjectResult.getETag().equals(S3Utils.toHex(md5)) ) { throw new Exception("Unable to match MD5 for config"); } return metadata; } }
/** * Initializes multipart upload. */ private void initMultiPartUpload() throws IOException { // Generate the object metadata by setting server side encryption, md5 checksum, // and encoding as octet stream since no assumptions are made about the file type ObjectMetadata meta = new ObjectMetadata(); if (mSseEnabled) { meta.setSSEAlgorithm(ObjectMetadata.AES_256_SERVER_SIDE_ENCRYPTION); } if (mHash != null) { meta.setContentMD5(Base64.encodeAsString(mHash.digest())); } meta.setContentType(Mimetypes.MIMETYPE_OCTET_STREAM); AmazonClientException lastException; InitiateMultipartUploadRequest initRequest = new InitiateMultipartUploadRequest(mBucketName, mKey).withObjectMetadata(meta); do { try { mUploadId = mClient.initiateMultipartUpload(initRequest).getUploadId(); return; } catch (AmazonClientException e) { lastException = e; } } while (mRetryPolicy.attempt()); // This point is only reached if the operation failed more // than the allowed retry count throw new IOException("Unable to init multipart upload to " + mKey, lastException); }
metadata.setContentMD5(null);
try { String contentMd5_b64 = Md5Utils.md5AsBase64(file); metadata.setContentMD5(contentMd5_b64); } catch (Exception e) { throw new SdkClientException(
ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(bytes.length); objectMetadata.setContentMD5(new String(org.apache.commons.codec.binary.Base64.encodeBase64(DigestUtils.md5(bytes))));
om.setContentMD5(upload.md5);
metadata.setContentMD5(null);
metadata.setContentMD5(null);
public S3PutRequestBuilder withMD5(String md5HexString) throws DecoderException { //Amazon expects the md5 value to be base64 encoded byte[] decodedHex = Hex.decodeHex(md5HexString.toCharArray()); //Apparently we need the unchunked string encoding method here to match what AWS is expecting. String md5Base64 = Base64.encodeBase64String(decodedHex); this.getMetadata().setContentMD5(md5Base64); return this; }
private void finishSimpleUpload() { ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(this.currentOutputStream.size()); byte[] content = this.currentOutputStream.toByteArray(); try { MessageDigest messageDigest = MessageDigest.getInstance("MD5"); String md5Digest = BinaryUtils.toBase64(messageDigest.digest(content)); objectMetadata.setContentMD5(md5Digest); } catch (NoSuchAlgorithmException e) { throw new IllegalStateException("MessageDigest could not be initialized because it uses an unknown algorithm", e); } SimpleStorageResource.this.amazonS3.putObject(SimpleStorageResource.this.bucketName, SimpleStorageResource.this.objectName, new ByteArrayInputStream(content), objectMetadata); //Release the memory early this.currentOutputStream = null; }
private void finishSimpleUpload() { ObjectMetadata objectMetadata = new ObjectMetadata(); objectMetadata.setContentLength(this.currentOutputStream.size()); byte[] content = this.currentOutputStream.toByteArray(); try { MessageDigest messageDigest = MessageDigest.getInstance("MD5"); String md5Digest = BinaryUtils.toBase64(messageDigest.digest(content)); objectMetadata.setContentMD5(md5Digest); } catch (NoSuchAlgorithmException e) { throw new IllegalStateException("MessageDigest could not be initialized because it uses an unknown algorithm", e); } SimpleStorageResource.this.amazonS3.putObject(SimpleStorageResource.this.bucketName, SimpleStorageResource.this.objectName, new ByteArrayInputStream(content), objectMetadata); //Release the memory early this.currentOutputStream = null; }
try { final String contentMd5_b64 = Md5Utils.md5AsBase64(file); metadata.setContentMD5(contentMd5_b64); } catch (final Exception e) { throw new AmazonClientException(
private void addContentMetadata(final ObjectMetadata metadata, final String content) { metadata.setContentMD5(this.calculateBase64EncodedMd5Digest(content)); metadata.setContentLength(content.length()); metadata.setContentType("text/css"); final String cacheControl = this.awsS3BucketConfig.getObjectCacheControl(); if (StringUtils.isNotEmpty(cacheControl)) { metadata.setCacheControl(cacheControl); } }
@Override public void provideObjectMetadata(File file, ObjectMetadata metadata) { if (S3MessageHandler.this.uploadMetadataProvider != null) { S3MessageHandler.this.uploadMetadataProvider.populateMetadata(metadata, MessageBuilder.createMessage(file, this.messageHeaders)); } if (metadata.getContentMD5() == null) { try { String contentMd5 = Md5Utils.md5AsBase64(file); metadata.setContentMD5(contentMd5); } catch (Exception e) { throw new AmazonClientException(e); } } }
@Override public void provideObjectMetadata(File file, ObjectMetadata metadata) { if (S3MessageHandler.this.uploadMetadataProvider != null) { S3MessageHandler.this.uploadMetadataProvider.populateMetadata(metadata, MessageBuilder.createMessage(file, this.messageHeaders)); } if (metadata.getContentMD5() == null) { try { String contentMd5 = Md5Utils.md5AsBase64(file); metadata.setContentMD5(contentMd5); } catch (Exception e) { throw new AmazonClientException(e); } } }
from.setContentEncoding("contentEncoding"); from.setContentLength(1234); from.setContentMD5("md5"); from.setContentType("contentType"); from.setExpirationTime(expTime);
@Override void writeFile(final String path, final byte[] data) throws IOException { ObjectMetadata bucketMetadata = new ObjectMetadata(); bucketMetadata.setContentMD5(Md5Utils.md5AsBase64(data)); bucketMetadata.setContentLength(data.length); // Give Tika a few hints for the content detection Metadata tikaMetadata = new Metadata(); tikaMetadata.set(Metadata.RESOURCE_NAME_KEY, FilenameUtils.getName(FilenameUtils.normalize(path))); // Fire! try (InputStream bis = TikaInputStream.get(data, tikaMetadata)) { bucketMetadata.setContentType(TIKA_DETECTOR.detect(bis, tikaMetadata).toString()); s3.putObject(bucket, resolveKey(path), bis, bucketMetadata); } }
private ObjectMetadata s3MetaFromSyncMeta(com.emc.ecs.sync.model.ObjectMetadata syncMeta) { com.amazonaws.services.s3.model.ObjectMetadata om = new com.amazonaws.services.s3.model.ObjectMetadata(); if (syncMeta.getCacheControl() != null) om.setCacheControl(syncMeta.getCacheControl()); if (syncMeta.getContentDisposition() != null) om.setContentDisposition(syncMeta.getContentDisposition()); if (syncMeta.getContentEncoding() != null) om.setContentEncoding(syncMeta.getContentEncoding()); om.setContentLength(syncMeta.getContentLength()); if (syncMeta.getChecksum() != null && syncMeta.getChecksum().getAlgorithm().equals("MD5")) om.setContentMD5(syncMeta.getChecksum().getValue()); if (syncMeta.getContentType() != null) om.setContentType(syncMeta.getContentType()); if (syncMeta.getHttpExpires() != null) om.setHttpExpiresDate(syncMeta.getHttpExpires()); om.setUserMetadata(formatUserMetadata(syncMeta)); if (syncMeta.getModificationTime() != null) om.setLastModified(syncMeta.getModificationTime()); return om; }