Updated on 2026-08-03 GMT+08:00

Performing a File-Based 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.

Prerequisites

Ensure that you have selected a proper SDK version by referring to SDK Download Links and have downloaded and installed the SDK.

Sample Code

File-based upload uses local files as the data source of objects. The sample code is as follows:

// 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 ObsClient instance.
$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',
       'SourceFile' => 'localfile'  // Path of the local file to be uploaded, in which the file name must be specified
]);

printf("RequestId:%s\n",$resp['RequestId']);
  • Use the SourceFile parameter to specify the path to the to-be-uploaded file.
  • SourceFile and Body cannot be used together.
  • The content to be uploaded cannot exceed 5 GB.