Performing a Streaming Upload
If you have any questions during development, post them on the Issues page of GitHub. For details about parameters and usage of each API, see the API Reference
Streaming upload uses resource or GuzzleHttp\Psr7\StreamInterface as the data source of an object. Sample code is as follows:
Uploading a Network Stream
// Import the dependency library.
require 'vendor/autoload.php';
// Import the SDK code library during source code installation.
// require 'obs-autoloader.php';
// Declare the namespace.
use Obs\ObsClient;
// Create an instance of ObsClient.
$obsClient = new ObsClient([
'key' => '*** Provide your Access Key ***',
'secret' => '*** Provide your Secret Key ***',
'endpoint' => 'https://your-endpoint'
]);
$resp = $obsClient->putObject([
'Bucket' => 'bucketname',
'Key' => 'objectname',
// Create network streams.
'Body' => fopen('http://www.a.com','r')
]);
printf("RequestId:%s\n",$resp['RequestId']);
Uploading a File Stream
// Import the dependency library.
require 'vendor/autoload.php';
// Import the SDK code library during source code installation.
// require 'obs-autoloader.php';
// Declare the namespace.
use Obs\ObsClient;
// Create an instance of ObsClient.
$obsClient = new ObsClient([
'key' => '*** Provide your Access Key ***',
'secret' => '*** Provide your Secret Key ***',
'endpoint' => 'https://your-endpoint'
]);
$resp = $obsClient->putObject([
'Bucket' => 'bucketname',
'Key' => 'objectname',
'Body' => fopen('localfile', 'r')
]);
printf("RequestId:%s\n",$resp['RequestId']);
- If the Body parameter is used to specify the to-be-uploaded streaming data, its value must be a resource or GuzzleHttp\Psr7\StreamInterface object.
- To upload a large file, you are advised to use multipart upload.
Last Article: Performing a Text-Based Upload
Next Article: Performing a File-Based Upload
Did this article solve your problem?
Thank you for your score!Your feedback would help us improve the website.