Android设置Content-Type

在Web服务中Content-Type用于设定文件的类型,决定以哪种形式、什么编码读取这个文件。

注意事项

  • 使用本文示例前您需要先通过自定义域名、STS等方式新建OSSClient,具体请参见如何初始化Android端OSSClient实例

  • 某些情况下,对于上传的文件需要设置Content-Type,否则文件不能以需要的形式和编码来读取。如果使用SDK上传文件时没有指定Content-Type,SDK会帮您根据后缀自动添加Content-Type。

示例代码

以下代码用于设置Content-Type。

// 构造上传请求。
// 依次填写Bucket名称(例如examplebucket)、Object完整路径(例如exampledir/exampleobject.txt)和本地文件完整路径(例如/storage/emulated/0/oss/examplefile.txt)。
// Object完整路径中不能包含Bucket名称。
PutObjectRequest put = new PutObjectRequest("examplebucket", "exampledir/exampleobject.txt", "/storage/emulated/0/oss/examplefile.txt");

ObjectMetadata metadata = new ObjectMetadata();
// 指定Content-Type。
metadata.setContentType("application/octet-stream");
// user自定义metadata。
metadata.addUserMetadata("x-oss-meta-name1", "value1");
put.setMetadata(metadata);

OSSAsyncTask task = oss.asyncPutObject(put, new OSSCompletedCallback<PutObjectRequest, PutObjectResult>() {
    ...
});

相关文档