chunckableInputStream.unread(firstByte); UploadPartRequest uploadRequest = new UploadPartRequest().withUploadId(initResponse.getUploadId()) .withBucketName(bucketName) .withKey(uploadFileName) .withInputStream(chunk) .withPartNumber(partNumber) .withPartSize(partSize) .withLastPart(isLastPart); partETags.add( getS3Client().uploadPart(uploadRequest).getPartETag() ); partNumber++;
/** * Uploads part async. */ private void uploadPart() throws IOException { if (mFile == null) { return; } mLocalOutputStream.close(); int partNumber = mPartNumber.getAndIncrement(); File newFileToUpload = new File(mFile.getPath()); mFile = null; mLocalOutputStream = null; UploadPartRequest uploadRequest = new UploadPartRequest() .withBucketName(mBucketName) .withKey(mKey) .withUploadId(mUploadId) .withPartNumber(partNumber) .withFile(newFileToUpload) .withPartSize(newFileToUpload.length()); execUpload(uploadRequest); }
private PartETag uploadChunk(byte[] buffer, int bytesRead, InitiateMultipartUploadResult initResponse, int index) throws Exception { byte[] md5 = S3Utils.md5(buffer, bytesRead); UploadPartRequest request = new UploadPartRequest(); request.setBucketName(initResponse.getBucketName()); request.setKey(initResponse.getKey()); request.setUploadId(initResponse.getUploadId()); request.setPartNumber(index); request.setPartSize(bytesRead); request.setMd5Digest(S3Utils.toBase64(md5)); request.setInputStream(new ByteArrayInputStream(buffer, 0, bytesRead)); UploadPartResult response = s3Client.uploadPart(request); PartETag partETag = response.getPartETag(); if ( !response.getPartETag().getETag().equals(S3Utils.toHex(md5)) ) { throw new Exception("Unable to match MD5 for part " + index); } return partETag; }
/** * Creates and returns an upload-part request corresponding to a ciphertext * file upon a part-creation event. * * @param event * the part-creation event of the ciphertxt file. * @param part * the created ciphertext file corresponding to the upload-part */ protected UploadPartRequest newUploadPartRequest(PartCreationEvent event, final File part) { final UploadPartRequest reqUploadPart = new UploadPartRequest() .withBucketName(req.getBucketName()) .withFile(part) .withKey(req.getKey()) .withPartNumber(event.getPartNumber()) .withPartSize(part.length()) .withLastPart(event.isLastPart()) .withUploadId(uploadId) .withObjectMetadata(req.getUploadPartMetadata()) ; return reqUploadPart; }
req = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withInputStream(new InputSubstream(wrappedStream, 0, partSize, isLastPart)) .withPartNumber(partNumber++) .withPartSize(partSize); } else { req = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withFile(file) .withFileOffset(offset) .withPartNumber(partNumber++) .withPartSize(partSize); req.withObjectMetadata(metadata); req.withRequesterPays(origReq.isRequesterPays()); TransferManager.appendMultipartUserAgent(req); if (sseCustomerKey != null) req.setSSECustomerKey(sseCustomerKey); req.setLastPart(isLastPart); req.withGeneralProgressListener(origReq.getGeneralProgressListener()) .withRequestMetricCollector(origReq.getRequestMetricCollector())
UploadPartRequest request = new UploadPartRequest() .withBucketName(mBucket) .withKey(key) .withUploadId(uploadId) .withPartNumber(partNumber) .withPartSize(size); if (uploadStream != null) { request.setInputStream(uploadStream); } else { request.setFile(sourceFile);
request = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withInputStream( new InputSubstream(putObjectRequest.getInputStream(), 0, partSize, isLastPart)) .withPartNumber(partNumber++) .withPartSize(partSize); } else { request = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withFile(file) .withFileOffset(offset) .withPartNumber(partNumber++) .withPartSize(partSize); request.setSSECustomerKey(sseCustomerKey); request.setLastPart(isLastPart); request.setGeneralProgressListener(putObjectRequest.getGeneralProgressListener());
continue; final UploadPartRequest putPartRequest = new UploadPartRequest() .withId(c.getInt(c.getColumnIndexOrThrow(TransferTable.COLUMN_ID))) .withMainUploadId( c.getInt(c .getColumnIndexOrThrow(TransferTable.COLUMN_MAIN_UPLOAD_ID))) .withBucketName( c.getString(c .getColumnIndexOrThrow(TransferTable.COLUMN_BUCKET_NAME))) .withKey(c.getString(c.getColumnIndexOrThrow(TransferTable.COLUMN_KEY))) .withUploadId(multipartId) .withFile(new File( c.getString(c.getColumnIndexOrThrow(TransferTable.COLUMN_FILE)))) .withFileOffset( c.getLong(c.getColumnIndexOrThrow(TransferTable.COLUMN_FILE_OFFSET))) .withPartNumber( c.getInt(c.getColumnIndexOrThrow(TransferTable.COLUMN_PART_NUM))) .withPartSize( c.getLong(c.getColumnIndexOrThrow(TransferTable.COLUMN_BYTES_TOTAL))) .withLastPart(1 == c.getInt(c .getColumnIndexOrThrow(TransferTable.COLUMN_IS_LAST_PART))); list.add(putPartRequest);
public UploadPartRequest getUploadPartRequest() { return new UploadPartRequest().withBucketName(this.bucketName).withKey(this.key) .withPartNumber(this.partCount.incrementAndGet()).withUploadId(this.uploadId); }
appendUserAgent(req, USER_AGENT); final int blockSize = contentCryptoScheme.getBlockSizeInBytes(); final boolean isLastPart = req.isLastPart(); final String uploadId = req.getUploadId(); final long partSize = req.getPartSize(); final boolean partSizeMultipleOfCipherBlockSize = 0 == (partSize % blockSize); if (!isLastPart && !partSizeMultipleOfCipherBlockSize) { uploadContext.beginPartUpload(req.getPartNumber()); CipherLite cipherLite = cipherLiteForNextPart(uploadContext); final File fileOrig = req.getFile(); final InputStream isOrig = req.getInputStream(); SdkFilterInputStream isCurr = null; try { req.setInputStream(isCurr); req.setFile(null); req.setFileOffset(0); req.setPartSize(lastPartSize); if (uploadContext.hasFinalPartBeenSeen()) { throw new SdkClientException(
upload.getUploadPartRequest().withInputStream(input).withPartSize(streamSize);
assertFalse(ServiceUtils.skipMd5CheckPerRequest(putObjectRequest)); UploadPartRequest partRequest = new UploadPartRequest(); partRequest.setSSECustomerKey(new SSECustomerKey("testKey")); assertTrue(ServiceUtils.skipMd5CheckPerRequest(partRequest)); partRequest = new UploadPartRequest(); assertFalse(ServiceUtils.skipMd5CheckPerRequest(partRequest));
UploadPartRequest uploadRequest = new UploadPartRequest() .withBucketName(existingBucketName).withKey(keyName) .withUploadId(initResponse.getUploadId()).withPartNumber(i)
/** * Sets the stream containing the data to upload for the new part, and * returns this updated object so that additional method calls can be * chained together. * * @param inputStream * the stream containing the data to upload for the new part. * * @return The updated UploadPartRequest object. */ public UploadPartRequest withInputStream(InputStream inputStream) { setInputStream(inputStream); return this; }
/** * Creates and returns an upload-part request corresponding to a ciphertext * file upon a part-creation event. * * @param event * the part-creation event of the ciphertxt file. * @param part * the created ciphertext file corresponding to the upload-part */ protected UploadPartRequest newUploadPartRequest(PartCreationEvent event, final File part) { final UploadPartRequest reqUploadPart = new UploadPartRequest() .withBucketName(req.getBucketName()) .withFile(part) .withKey(req.getKey()) .withPartNumber(event.getPartNumber()) .withPartSize(part.length()) .withLastPart(event.isLastPart()) .withUploadId(uploadId) .withObjectMetadata(req.getUploadPartMetadata()); return reqUploadPart; }
req = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withInputStream(new InputSubstream(wrappedStream, 0, partSize, isLastPart)) .withPartNumber(partNumber++) .withPartSize(partSize); } else { req = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withFile(file) .withFileOffset(offset) .withPartNumber(partNumber++) .withPartSize(partSize); req.withRequesterPays(origReq.isRequesterPays()); TransferManager.appendMultipartUserAgent(req); if (sseCustomerKey != null) req.setSSECustomerKey(sseCustomerKey); req.setLastPart(isLastPart); req.withGeneralProgressListener(origReq.getGeneralProgressListener()) .withRequestMetricCollector(origReq.getRequestMetricCollector()) req.getRequestClientOptions().setReadLimit(origReq.getReadLimit()); return req;
UploadPartRequest request = new UploadPartRequest() .withBucketName(mBucket) .withKey(key) .withUploadId(uploadId) .withPartNumber(partNumber) .withPartSize(size); if (uploadStream != null) { request.setInputStream(uploadStream); } else { request.setFile(sourceFile);
request = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withInputStream( new InputSubstream(putObjectRequest.getInputStream(), 0, partSize, isLastPart)) .withPartNumber(partNumber++) .withPartSize(partSize); } else { request = new UploadPartRequest() .withBucketName(bucketName) .withKey(key) .withUploadId(uploadId) .withFile(file) .withFileOffset(offset) .withPartNumber(partNumber++) .withPartSize(partSize); request.setSSECustomerKey(sseCustomerKey); request.setLastPart(isLastPart); request.setGeneralProgressListener(putObjectRequest.getGeneralProgressListener());
continue; final UploadPartRequest putPartRequest = new UploadPartRequest() .withId(c.getInt(c.getColumnIndexOrThrow(TransferTable.COLUMN_ID))) .withMainUploadId( c.getInt(c .getColumnIndexOrThrow(TransferTable.COLUMN_MAIN_UPLOAD_ID))) .withBucketName( c.getString(c .getColumnIndexOrThrow(TransferTable.COLUMN_BUCKET_NAME))) .withKey(c.getString(c.getColumnIndexOrThrow(TransferTable.COLUMN_KEY))) .withUploadId(multipartId) .withFile(new File( c.getString(c.getColumnIndexOrThrow(TransferTable.COLUMN_FILE)))) .withFileOffset( c.getLong(c.getColumnIndexOrThrow(TransferTable.COLUMN_FILE_OFFSET))) .withPartNumber( c.getInt(c.getColumnIndexOrThrow(TransferTable.COLUMN_PART_NUM))) .withPartSize( c.getLong(c.getColumnIndexOrThrow(TransferTable.COLUMN_BYTES_TOTAL))) .withLastPart(1 == c.getInt(c .getColumnIndexOrThrow(TransferTable.COLUMN_IS_LAST_PART))); list.add(putPartRequest);
public UploadPartRequest getUploadPartRequest() { return new UploadPartRequest().withBucketName(this.bucketName).withKey(this.key) .withPartNumber(this.partCount.incrementAndGet()).withUploadId(this.uploadId); }