84 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
		
		
			
		
	
	
			84 lines
		
	
	
		
			3.1 KiB
		
	
	
	
		
			PHP
		
	
	
|  | <?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']); |