Object接口 > 资源元信息修改 | ||||||||||||||||||||||||||||||||
修改文件的 MIME 类型信息。
|
头部名称 | 必填 | 说明 |
---|---|---|
Authorization | 是 | 该参数应严格按照管理凭证格式进行填充,否则会返回401错误码 一个合法的Authorization值应类似于:QBox bt500PzCG9tV0bccCOdnrmC… |
mimeType命名规则:
目前所有的mimetype包括如下字符集:a-z, A-Z, 0-9, ., +, /, -。
因为mimetype日后还会增加,为保证兼容将增加如下字符;,=,,,_和空格。
目前mimetype最大长度为79, 为保证兼容将来限制最大长度为200。
mimetype为空这里认为合法,因为如果为空后面会进一步检测并设置。
mimetype可以包括空格,例如:text/plain; charset=iso-8859-1。
禁止转义,如%0A表示\n,所以禁止出现%。
HTTP/1.1 200 OKContent-Type: application/jsonCache-Control: no-store
头部名称 | 必填 | 说明 |
---|---|---|
Content-Type | 是 | 正常情况下该值将被设为application/json,表示返回JSON格式的文本信息。 |
如果请求成功,不返回任何内容。
如果请求失败,返回包含如下内容的JSON字符串
{ "error": "<errMsg string>" }
字段名称 | 必填 | 说明 |
---|---|---|
error | 是 | 与HTTP状态码对应的消息文本 |
HTTP状态码 | 含义 |
---|---|
200 | 更改成功 |
400 | 请求报文格式错误 当 |
401 | 管理凭证无效 |
612 | 目标资源不存在 |
613 | 当cond条件不满足时,返回613 {“error”: “cond not match”} |
599 | 服务端操作失败 |
curl -i \ -o - \ -H 'Content-Type: application/x-www-form-urlencoded' \ -H 'Authorization: QBox bt500PzCG9tV0bccCOdnrmCHPXCPLieGSDEprB7M:4wG...' \ -X POST \ 'http://rs.qiniu.com/chgm/YnVja2V0OmtleQ==/x-qn-meta-meta_key/bWV0YV92YWx1ZQ==/cond/ZnNpemU9Ng=='
POST /chgm/YnVja2V0OmtleQ==/x-qn-meta-meta_key/bWV0YV92YWx1ZQ==/cond/ZnNpemU9Ng== HTTP/1.1 Host: rs.qiniu.com User-Agent: Go-http-client/1.1 Content-Length: 0 Authorization: QBox EmEtww5prO5pe8ts_mG.......1tXlEQ9hoG4:LuGCwpfK-rM= Content-Type: application/x-www-form-urlencoded Accept-Encoding: gzip
注意:要在Authorization头部的AccessToken前添加QBox和半角空格。
HTTP/1.1 200 OK Server: nginx Date: Fri, 23 Jun 2017 10:23:18 GMT Content-Type: application/json Content-Length: 0 Connection: keep-alive X-Log: rs35_17.sel;.........;RS:2;ZONEPROXY:4 X-Reqid: -nIAABnfaeIlucoU
function changeMime($accessKey,$secretKey,$bucket,$key,$mime) { $authObj = new Auth($accessKey, $secretKey); $http = new Http(); $resource = $authObj->entry($bucket, $key); $encode_mime = $authObj->base64_urlSafeEncode($mime); $url = "http://rs.qiniu.com/chgm/{$resource}/mime/{$encode_mime}"; $headers = $authObj->getHeaders($url, null, 'application/x-www-form-urlencoded'); // 创建一个新cURL资源 $curl = curl_init(); // 设置URL和相应的选项 curl_setopt($curl, CURLOPT_URL, $url); //CURLOPT_HEADER为true设置头文件的信息作为数据流输出 curl_setopt($curl, CURLOPT_HEADER, false); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_HTTPHEADER, $headers); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, strtoupper('POST')); curl_setopt($curl, CURLOPT_POST, true); $result = curl_exec($curl); curl_close($curl); return $result; } $accessKey = 'xxx'; $secretKey = 'xxx'; $bucket = '123_1';//存储空间名称 $key = 'Postman.exe';//文件名 $mime = 'image/jpeg';//待操作文件目标mimeType echo changeMime($accessKey,$secretKey,$bucket,$key,$mime);