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 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 ( [ //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage. //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/intl/en-us/usermanual-ca/ca_01_0003.html. 'key' => getenv('ACCESS_KEY_ID'), 'secret' => getenv('SECRET_ACCESS_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 ( [ //Obtain an AK/SK pair using environment variables or import the AK/SK pair in other ways. Using hard coding may result in leakage. //Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/intl/en-us/usermanual-ca/ca_01_0003.html. 'key' => getenv('ACCESS_KEY_ID'), 'secret' => getenv('SECRET_ACCESS_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.
Feedback
Was this page helpful?
Provide feedbackThank you very much for your feedback. We will continue working to improve the documentation.See the reply and handling status in My Cloud VOC.
For any further questions, feel free to contact us through the chatbot.
Chatbot