/** * Computes the presigned URL for the given S3 resource. * * @param path String like "/bucketName/folder/folder/abc.txt" that represents the resource to * request. */ public URL buildPresignedURL(String path) throws AmazonClientException { AWSCredentials credentials = awsCredentialsProvider.getCredentials(); long expires = System.currentTimeMillis() + 60 * 60 * 1000; GeneratePresignedUrlRequest request = new GeneratePresignedUrlRequest(path, credentials.getAWSSecretKey()); request.setExpiration(new Date(expires)); AmazonS3 s3 = new AmazonS3Client(credentials); return s3.generatePresignedUrl(request); }
public String generateURL(final String documentName, final boolean fileAttached) { if (fileAttached) { GeneratePresignedUrlRequest urlRequest = new GeneratePresignedUrlRequest(S3_BUCKET, documentName); urlRequest.setMethod(HttpMethod.GET); Calendar calendar = new GregorianCalendar(); calendar.add(Calendar.MONTH, 1); Date nextMonth = calendar.getTime(); urlRequest.setExpiration(nextMonth); URL url = s3client.generatePresignedUrl(urlRequest); return url.toString(); } else { return "No File Attached"; } }
public static String xs3_generate_url(String xs3_objname, String content_type) { AWSCredentials xs3_credentials = new BasicAWSCredentials(xs3_access_key, xs3_secret_key); ClientConfiguration xs3_clientconfig = new ClientConfiguration(); xs3_clientconfig.setProtocol(Protocol.HTTP); S3ClientOptions xs3_client_options = new S3ClientOptions(); xs3_client_options.setPathStyleAccess(true); xs3_client = new AmazonS3Client(xs3_credentials, xs3_clientconfig); xs3_client.setEndpoint(xs3_endpoint); xs3_client.setS3ClientOptions(xs3_client_options); try { java.util.Date expiration = new java.util.Date(); long milliSeconds = expiration.getTime(); milliSeconds += 1000 * 60 * 5; expiration.setTime(milliSeconds); GeneratePresignedUrlRequest xs3_genurl_req = new GeneratePresignedUrlRequest(xs3_bucketname, xs3_objname); xs3_genurl_req.setMethod(HttpMethod.PUT); xs3_genurl_req.setExpiration(expiration); xs3_genurl_req.setContentType(content_type); xs3_genurl_req.addRequestParameter("x-amz-acl", "public-read"); URL url = xs3_client.generatePresignedUrl(xs3_genurl_req); System.out.println(url.toString()); return url.toString(); } catch (AmazonServiceException ase) { System.out.println("xs3_svr_error_message:" + ase.getMessage()); System.out.println("xs3_svr_status_code: " + ase.getStatusCode()); System.out.println("xs3_svr_error_code: " + ase.getErrorCode()); System.out.println("xs3_svr_error_type: " + ase.getErrorType()); System.out.println("xs3_svr_request_id: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("xs3_clt_error_message:" + ace.getMessage()); } return null; }
public static String gen_part_url( String uploadId, int file_size, String file_name, String file_type) { AWSCredentials xs3_credentials = new BasicAWSCredentials(xs3_access_key, xs3_secret_key); ClientConfiguration xs3_clientconfig = new ClientConfiguration(); xs3_clientconfig.setProtocol(Protocol.HTTP); S3ClientOptions xs3_client_options = new S3ClientOptions(); xs3_client_options.setPathStyleAccess(true); xs3_client = new AmazonS3Client(xs3_credentials, xs3_clientconfig); xs3_client.setEndpoint(xs3_endpoint); xs3_client.setS3ClientOptions(xs3_client_options); try { final int xs3_part_size = 1024 * 1024 * 5; int xs3_part_count = (int) Math.ceil((double) (file_size) / (double) xs3_part_size); JSONArray jsonArray = new JSONArray(); JSONObject jsonObject_1 = new JSONObject(); jsonObject_1.put("total_num", xs3_part_count); jsonObject_1.put("upload_id", uploadId); JSONArray jsonArray_sub = new JSONArray(); for (int part_no = 0; part_no < xs3_part_count; part_no++) { long xs3_offset_bytes = xs3_part_size * part_no; long part_size = xs3_part_size < (file_size - xs3_offset_bytes) ? xs3_part_size : (file_size - xs3_offset_bytes); java.util.Date expiration = new java.util.Date(); long milliSeconds = expiration.getTime(); milliSeconds += 1000 * 60 * 5; expiration.setTime(milliSeconds); GeneratePresignedUrlRequest xs3_genurl_req = new GeneratePresignedUrlRequest(xs3_bucketname, file_name); xs3_genurl_req.setMethod(HttpMethod.PUT); xs3_genurl_req.setExpiration(expiration); xs3_genurl_req.setContentType(file_type); xs3_genurl_req.addRequestParameter("uploadId", uploadId); xs3_genurl_req.addRequestParameter("partNumber", String.valueOf(part_no + 1)); URL url = xs3_client.generatePresignedUrl(xs3_genurl_req); System.out.println(url.toString()); JSONObject jsonObject = new JSONObject(); jsonObject.put("part_idx", part_no); jsonObject.put("part_url", url.toString()); jsonObject.put("upload_len", part_size); jsonObject.put("part_begin", xs3_offset_bytes); jsonObject.put("part_end", xs3_offset_bytes + part_size); jsonArray_sub.add(jsonObject); } jsonObject_1.put("multi_list", jsonArray_sub); jsonArray.add(jsonObject_1); return jsonArray.toString(); } catch (AmazonServiceException ase) { System.out.println("xs3_svr_error_message:" + ase.getMessage()); System.out.println("xs3_svr_status_code: " + ase.getStatusCode()); System.out.println("xs3_svr_error_code: " + ase.getErrorCode()); System.out.println("xs3_svr_error_type: " + ase.getErrorType()); System.out.println("xs3_svr_request_id: " + ase.getRequestId()); } catch (AmazonClientException ace) { System.out.println("xs3_clt_error_message:" + ace.getMessage()); } return null; }