在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>() {
...
});
相关文档
关于初始化OSSClient,请参见如何初始化Android端OSSClient实例。