84 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
			
		
		
	
	
			84 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
			Executable File
		
	
<?php
 | 
						|
require_once __DIR__ . '/Common.php';
 | 
						|
 | 
						|
use OSS\OssClient;
 | 
						|
 | 
						|
$bucket = Common::getBucketName();
 | 
						|
$ossClient = Common::getOssClient();
 | 
						|
if (is_null($ossClient)) exit(1);
 | 
						|
 | 
						|
//******************************* Simple Usage ***************************************************************
 | 
						|
 | 
						|
/**  putObject Upload content to an OSS file using callback.
 | 
						|
  * The callbackurl specifies the server url for the request callback.
 | 
						|
  * The callbackbodytype can be application/json or application/x-www-form-urlencoded,the optional parameters,the default for the application/x - WWW - form - urlencoded
 | 
						|
  * Users can choose not to set OSS_BACK_VAR
 | 
						|
  */
 | 
						|
$url =
 | 
						|
    '{
 | 
						|
        "callbackUrl":"callback.oss-demo.com:23450",
 | 
						|
        "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
 | 
						|
        "callbackBody":"bucket=${bucket}&object=${object}&etag=${etag}&size=${size}&mimeType=${mimeType}&imageInfo.height=${imageInfo.height}&imageInfo.width=${imageInfo.width}&imageInfo.format=${imageInfo.format}&my_var1=${x:var1}&my_var2=${x:var2}",
 | 
						|
         "callbackBodyType":"application/x-www-form-urlencoded"
 | 
						|
 | 
						|
    }';
 | 
						|
$var = 
 | 
						|
    '{
 | 
						|
        "x:var1":"value1",
 | 
						|
        "x:var2":"值2"
 | 
						|
    }';
 | 
						|
$options = array(OssClient::OSS_CALLBACK => $url,
 | 
						|
                 OssClient::OSS_CALLBACK_VAR => $var
 | 
						|
                );
 | 
						|
$result = $ossClient->putObject($bucket, "b.file", "random content", $options);
 | 
						|
Common::println($result['body']);
 | 
						|
Common::println($result['info']['http_code']);
 | 
						|
 | 
						|
/**
 | 
						|
  * completeMultipartUpload  Upload content to an OSS file using callback.
 | 
						|
  * callbackurl specifies the server url for the request callback
 | 
						|
  * The callbackbodytype can be application/json or application/x-www-form-urlencoded,the optional parameters,the default for the application/x - WWW - form - urlencoded
 | 
						|
  * Users can choose not to set OSS_BACK_VAR.
 | 
						|
 */
 | 
						|
$object = "multipart-callback-test.txt";
 | 
						|
$copiedObject = "multipart-callback-test.txt.copied";
 | 
						|
$ossClient->putObject($bucket, $copiedObject, file_get_contents(__FILE__));
 | 
						|
 | 
						|
/**
 | 
						|
  *  step 1. Initialize a block upload event, that is, a multipart upload process to get an upload id
 | 
						|
  */
 | 
						|
$upload_id = $ossClient->initiateMultipartUpload($bucket, $object);
 | 
						|
 | 
						|
/**
 | 
						|
 * step 2. uploadPartCopy
 | 
						|
 */
 | 
						|
$copyId = 1;
 | 
						|
$eTag = $ossClient->uploadPartCopy($bucket, $copiedObject, $bucket, $object, $copyId, $upload_id);
 | 
						|
$upload_parts[] = array(
 | 
						|
    'PartNumber' => $copyId,
 | 
						|
    'ETag' => $eTag,
 | 
						|
    );
 | 
						|
$listPartsInfo = $ossClient->listParts($bucket, $object, $upload_id);
 | 
						|
 | 
						|
/**
 | 
						|
 * step 3.
 | 
						|
 */
 | 
						|
$json = 
 | 
						|
    '{
 | 
						|
        "callbackUrl":"callback.oss-demo.com:23450",
 | 
						|
        "callbackHost":"oss-cn-hangzhou.aliyuncs.com",
 | 
						|
        "callbackBody":"{\"mimeType\":${mimeType},\"size\":${size},\"x:var1\":${x:var1},\"x:var2\":${x:var2}}",
 | 
						|
        "callbackBodyType":"application/json"
 | 
						|
    }';
 | 
						|
$var = 
 | 
						|
    '{
 | 
						|
        "x:var1":"value1",
 | 
						|
        "x:var2":"值2"
 | 
						|
    }';
 | 
						|
$options = array(OssClient::OSS_CALLBACK => $json,
 | 
						|
                 OssClient::OSS_CALLBACK_VAR => $var);
 | 
						|
 | 
						|
$result = $ossClient->completeMultipartUpload($bucket, $object, $upload_id, $upload_parts, $options);
 | 
						|
Common::println($result['body']);
 | 
						|
Common::println($result['info']['http_code']);
 |