diff --git a/_layouts/home.html b/_layouts/home.html index 07c2b68a..8f3bc3c6 100644 --- a/_layouts/home.html +++ b/_layouts/home.html @@ -93,14 +93,14 @@

BlobStore

.credentials("identity", "credential") .buildView(BlobStoreContext.class) .getBlobStore(); +blobStore.createContainerInLocation(location, "container-name"); -blobStore.createContainerInLocation(location, "mycontainer"); - -Blob blob = blobStore.blobBuilder("blob") - .payload("blob-content") +ByteSource payload = ByteSource.wrap(new byte[] {1, 2, 3, 4}); +Blob blob = blobStore.blobBuilder("blob-name") + .payload(payload) + .contentLength(payload.size()) .build(); - -blobStore.putBlob("mycontainer", blob); +blobStore.putBlob("container-name", blob); {% endhighlight %} diff --git a/start/blobstore.md b/start/blobstore.md index e24fb595..f2d084b2 100644 --- a/start/blobstore.md +++ b/start/blobstore.md @@ -167,8 +167,11 @@ blobStore = context.getBlobStore(); blobStore.createContainerInLocation(null, "mycontainer"); // add blob -blob = blobStore.blobBuilder("test") // you can use folders via newBlob(folderName + "/sushi.jpg") - .payload("testdata").build(); +ByteSource payload = ByteSource.wrap("blob-content".getBytes(Charsets.UTF_8)); +blob = blobStore.blobBuilder("test") // you can use folders via blobBuilder(folderName + "/sushi.jpg") + .payload(payload) + .contentLength(payload.size) + .build(); blobStore.putBlob(containerName, blob); {% endhighlight %} @@ -234,10 +237,14 @@ import static org.jclouds.blobstore.options.PutOptions.Builder.multipart; // create container blobStore.createContainerInLocation(null, "mycontainer"); - File input = new File(fileName); // Add a Blob - Blob blob = blobStore.blobBuilder(objectName).payload(input) - .contentType(MediaType.APPLICATION_OCTET_STREAM).contentDisposition(objectName).build(); + ByteSource payload = Files.asByteSource(new File(fileName)); + Blob blob = blobStore.blobBuilder(objectName) + .payload(payload) + .contentDisposition(objectName) + .contentLength(payload.size()) + .contentType(MediaType.OCTET_STREAM.toString()) + .build(); // Upload a file ListenableFuture futureETag = blobStore.putBlob(containerName, blob, multipart()); @@ -378,11 +385,14 @@ you must set [Content Disposition](http://www.jtricks.com/bits/content_dispositi it with BlobStore API: {% highlight java %} +ByteSource payload = Files.asByteSource(new File("sushi.jpg")); Blob blob = context.getBlobStore().blobBuilder("sushi.jpg") - .payload(new File("sushi.jpg"))// or byte[]. InputStream, etc. - .contentDisposition("attachment; filename=sushi.jpg") - .contentType("image/jpeg") - .calculateMD5().build(); + .payload(payload) // or InputStream + .contentDisposition("attachment; filename=sushi.jpg") + .contentMD5(payload.hash(Hashing.md5()).asBytes()) + .contentLength(payload.size()) + .contentType(MediaType.JPEG.toString()) + .build(); {% endhighlight %}