全部產品
Search
文件中心

Object Storage Service:0016-00000606

更新時間:Jun 08, 2024

問題描述

大量刪除操作缺少Content-MD5要求標頭。

問題原因

您發起了DeleteMultipleObjects請求,但是要求標頭中缺少Content-MD5要求標頭。

問題樣本

以下DeleteMultipleObjects請求中缺少必選的Content-MD5要求標頭。

POST /?delete HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Feb 2012 12:26:16 GMT
Content-Length:151
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<Delete> 
  <Quiet>false</Quiet>  
  <Object> 
    <Key>multipart.data</Key> 
  </Object>  
  <Object> 
    <Key>test.jpg</Key> 
  </Object>  
  <Object> 
    <Key>demo.jpg</Key> 
  </Object> 
</Delete>

解決方案

請求中添加Content-MD5要求標頭。

Content-MD5是一串由MD5演算法產生的值,該要求標頭用於檢查訊息內容是否與發送時一致。上傳了Content-MD5要求標頭後,OSS會計算訊息體的Content-MD5並檢查一致性。

Content-MD5計算方法為:

  1. DeleteMultipleObjects的請求訊息體經過MD5加密後得到一個128位位元組數組。

  2. 將該位元組數組用base64演算法編碼,編碼後得到的字串即為Content-MD5欄位內容。

正確請求樣本如下:

POST /?delete HTTP/1.1
Host: oss-example.oss-cn-hangzhou.aliyuncs.com
Date: Wed, 29 Feb 2012 12:26:16 GMT
Content-Length:151
Content-MD5: ohhnqLBJFiKkPSBO1eNaUA==
Authorization: OSS qn6q**************:77Dv****************
<?xml version="1.0" encoding="UTF-8"?>
<Delete> 
  <Quiet>false</Quiet>  
  <Object> 
    <Key>multipart.data</Key> 
  </Object>  
  <Object> 
    <Key>test.jpg</Key> 
  </Object>  
  <Object> 
    <Key>demo.jpg</Key> 
  </Object> 
</Delete>

相關文檔