Updated on 2024-06-21 GMT+08:00

Rewriting Response Headers

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 .

When downloading an object, you can rewrite some HTTP/HTTPS response headers. The following table lists rewritable response headers.

Parameter

Description

Method in OBS Android SDK

contentType

Rewrites Content-Type in HTTP/HTTPS responses.

ObjectRepleaceMetadata.setContentType

contentLanguage

Rewrites Content-Language in HTTP/HTTPS responses.

ObjectRepleaceMetadata.setContentLanguage

expires

Rewrites Expires in HTTP/HTTPS responses.

ObjectRepleaceMetadata.setExpires

cacheControl

Rewrites Cache-Control in HTTP/HTTPS responses.

ObjectRepleaceMetadata.setCacheControl

contentDisposition

Rewrites Content-Disposition in HTTP/HTTPS responses.

ObjectRepleaceMetadata.setContentDisposition

contentEncoding

Rewrites Content-Encoding in HTTP/HTTPS responses.

ObjectRepleaceMetadata.setContentEncoding

Sample code:

// Hard-coded or plaintext AK/SK are risky. For security purposes, encrypt your AK/SK and store them in the configuration file or environment variables. In this example, the AK/SK are stored in environment variables for identity authentication. Before running this example, configure environment variables ACCESS_KEY_ID and SECRET_ACCESS_KEY_ID.
// Obtain an AK/SK pair on the management console. For details, see https://support.huaweicloud.com/eu/usermanual-ca/ca_01_0003.html.
String ak = System.getenv("ACCESS_KEY_ID");
String sk = System.getenv("SECRET_ACCESS_KEY_ID");
String endPoint = "https://your-endpoint";
// Create an instance of ObsClient.
ObsClient obsClient = new ObsClient(ak, sk, endPoint);

GetObjectRequest request = new GetObjectRequest("bucketname", "objectname");
ObjectRepleaceMetadata replaceMetadata = new ObjectRepleaceMetadata();
replaceMetadata.setContentType("image/jpeg");
request.setReplaceMetadata(replaceMetadata);

ObsObject obsObject = obsClient.getObject(request);
Log.i("GetObject", object.getMetadata().getContentType());

obsObject.getObjectContent().close();