postman使用post方法向華為云obs桶上傳文件和圖片

      網友投稿 1950 2022-05-30

      POSTman使用post方法向華為云obs桶上傳文件和圖片

      一句話總結:postman使用post方法向華為云obs桶上傳文件和圖片。記錄下過程。

      如果想了解put方法,請參考下文:

      postman使用put方法向華為云obs桶上傳文件和圖片

      https://bbs.huaweicloud.com/blogs/298147

      1、 使用步驟

      創建華為云OBS桶

      4、 什么是華為云OBS?

      postman使用post方法向華為云obs桶上傳文件和圖片

      對象存儲服務(Object Storage Service)是一款穩定、安全、高效、易用的華為云存儲服務,具備標準Restful API接口,可存儲任意數量和形式的非結構化數據。

      2、進入華為云的OBS服務,進入“管理控制臺”。點擊“創建桶”。

      3、取個桶名字bucket-guxiaobei。

      4、OBS桶創建成功。

      5、點擊桶名,可以查看OBS基本信息。可以看到我的OBS桶訪問域名bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com

      獲取AK和SK

      4、 華為云OBS支持通過AK/SK認證方式進行認證鑒權,即使用Access Key ID(AK)/Secret Access Key(SK)加密的方法來驗證某個請求發送者身份。

      支持2種使用AK/SK的鑒權方法:

      (1)支持使用永久AK/SK鑒權。

      (2)支持通過臨時AK/SK和securitytoken進行認證鑒權。

      2、本文使用永久AK/SK。點擊華為云用戶名下的“我的憑證”。

      (2)新增訪問秘鑰。

      (3)創建成功后,點立即下載。

      (4)打開excel文件,即可看到用戶名下對應的AK/SK。

      put與post區別

      (1)PUT上傳中參數通過請求頭域傳遞;POST上傳則作為消息體中的表單域傳遞。

      (2)PUT上傳需在URL中指定對象名;POST上傳提交的URL為桶域名,無需指定對象名。

      兩者的請求行分別為:

      PUT /ObjectName HTTP/1.1

      POST / HTTP/1.1

      上傳txt文檔

      1、準備一個a.txt文檔。內容隨意。

      2、OBS服務支持基于瀏覽器的POST上傳對象請求,此類請求的簽名信息通過表單的方式上傳。

      請參考網址 https://support.huaweicloud.com/api-obs/obs_04_0012.html

      POST上傳對象:首先,創建一個安全策略,指定請求中需要滿足的條件,比如:桶名、對象名前綴;然后,創建一個基于此策略的簽名,需要簽名的請求表單中必須包含有效的signature和policy;最后,創建一個表單將對象上傳到桶中。

      簽名的計算過程如下:

      (1)對policy內容進行UTF-8編碼。

      (2)對第一步的結果進行Base64編碼。

      (3)使用SK對第二步的結果進行HMAC-SHA1簽名計算。

      (4)對第三步的結果進行Base64編碼,得到簽名。

      StringToSign = Base64( UTF-8-Encoding-Of( policy ) )

      Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )

      3、復制下面python代碼

      import base64

      import hashlib

      import hmac

      import urllib.parse

      def sign_in_post(sk, policy):

      string_to_sign = base64.b64encode(policy.encode('UTF-8'))

      print('string_to_sign:\n', string_to_sign)

      hashed = hmac.new(sk.encode('UTF-8'), string_to_sign, hashlib.sha1)

      sign = base64.b64encode(hashed.digest()).decode('UTF-8')

      print('sign:\n', sign)

      return sign

      sk = '此處省略sk實際內容'

      policy = '''{"expiration": "2021-09-02T12:00:00.000Z",

      "conditions":[

      {"bucket":"bucket-guxiaobei"},

      {"key":"a.txt"}

      ]

      }'''

      sign_in_post(sk,policy)

      4、在pycharm里運行,可以得到policy和signature。

      (1)sk為你實際Secret Access Key內容。

      (2)expiration為過期時間。

      (3)bucket為你的桶名。

      (4)key為期望上傳對象的名字。

      5、打開postman軟件,選擇POST方法。

      (1)地址欄填入http:// 訪問域名 / 。我寫的是http://bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com/

      (2)其他Headers參考下圖。

      注意:postman有一些自動生成的頭信息auto-generated headers,并不都是必須項。

      6、點擊“Body”。類型選form-data。Select File,選擇前面準備好的a.txt

      (1)key為期望上傳對象的名字。

      (2)AccessKeyId是我的Access Key Id值。

      (3)signature是剛計算出來的簽名。

      (4)policy是剛計算出來的策略。

      (5)file是實際上傳的文件。約束條件:此參數必須為最后一個參數,否則此參數之后的參數會被丟棄;一個請求中只能含有一個file參數。

      7、點擊send,返回狀態Status 204 No Content。

      8、返回華為云OBS控制臺。可以看到a.txt已經上傳。點擊下載。

      8、完成txt上傳。

      注意:OBS并不強制本地文件名和OBS桶的期待文件名,保持一致。你可以本地a.txt,上傳為b.txt。

      上傳jpg圖片

      1、準備一個b.jpg圖片。內容隨意。

      2、OBS服務支持基于瀏覽器的POST上傳對象請求,此類請求的簽名信息通過表單的方式上傳。

      請參考網址 https://support.huaweicloud.com/api-obs/obs_04_0012.html

      POST上傳對象:首先,創建一個安全策略,指定請求中需要滿足的條件,比如:桶名、對象名前綴;然后,創建一個基于此策略的簽名,需要簽名的請求表單中必須包含有效的signature和policy;最后,創建一個表單將對象上傳到桶中。

      簽名的計算過程如下:

      (1)對policy內容進行UTF-8編碼。

      (2)對第一步的結果進行Base64編碼。

      (3)使用SK對第二步的結果進行HMAC-SHA1簽名計算。

      (4)對第三步的結果進行Base64編碼,得到簽名。

      StringToSign = Base64( UTF-8-Encoding-Of( policy ) )

      Signature = Base64( HMAC-SHA1( YourSecretAccessKeyID, StringToSign ) )

      3、復制下面python代碼

      import base64

      import hashlib

      import hmac

      import urllib.parse

      def sign_in_post(sk, policy):

      string_to_sign = base64.b64encode(policy.encode('UTF-8'))

      print('string_to_sign:\n', string_to_sign)

      hashed = hmac.new(sk.encode('UTF-8'), string_to_sign, hashlib.sha1)

      sign = base64.b64encode(hashed.digest()).decode('UTF-8')

      print('sign:\n', sign)

      return sign

      sk = '此處省略sk實際內容'

      policy = '''{"expiration": "2021-09-02T12:00:00.000Z",

      "conditions":[

      {"bucket":"bucket-guxiaobei"},

      {"key":"b.jpg"}

      ]

      }'''

      sign_in_post(sk,policy)

      4、在pycharm里運行,可以得到policy和signature。

      (1)sk為你實際Secret Access Key內容。

      (2)expiration為過期時間。

      (3)bucket為你的桶名。

      (4)key為期望上傳對象的名字。

      5、打開postman軟件,選擇POST方法。

      (1)地址欄填入http:// 訪問域名 / 。我寫的是http://bucket-guxiaobei.obs.cn-north-4.myhuaweicloud.com/

      (2)其他Headers參考下圖。

      注意:postman有一些自動生成的頭信息auto-generated headers,并不都是必須項。

      6、點擊“Body”。類型選form-data。Select File,選擇前面準備好的b.jpg

      (1)key為期望上傳對象的名字。

      (2)AccessKeyId是我的Access Key Id值。

      (3)signature是剛計算出來的簽名。

      (4)policy是剛計算出來的策略。

      (5)file是實際上傳的文件。約束條件:此參數必須為最后一個參數,否則此參數之后的參數會被丟棄;一個請求中只能含有一個file參數。

      7、點擊send,返回狀態Status 204 No Content。

      8、返回華為云OBS控制臺。可以看到b.jpg已經上傳。點擊下載。

      8、完成jpg上傳。

      注意:OBS并不強制本地文件名和OBS桶的期待文件名,保持一致。你可以本地a.jpg,上傳為b.jpg。

      完成

      ok。

      關注

      weixin關注公眾號beigugong,或者掃描下方二維碼。

      相關

      【上電即上華為云】故小北文章階段性匯總

      https://bbs.huaweicloud.com/blogs/263697

      【上電即上華為云】華為云openCPU智聯模組_Cat.1_MC615-CN-L610-CN(面向上華為云)

      https://bbs.huaweicloud.com/blogs/267413

      【上電即上華為云】華為云openCPU智聯模組_Cat.1_MC615-CN_L610-CN_OTA升級(面向OTA在線升級)

      https://bbs.huaweicloud.com/blogs/293310

      【上電即上華為云】華為云smart智聯Cat.1+PLC無線網關_3121N-IED_MC615-CN-L610-CN(面向Cat.1+PLC無線網關)

      https://bbs.huaweicloud.com/blogs/296169

      【上電即上華為云】華為云openCPU智聯模組_Cat.1_MC615-CN-L610-CN_云喇叭TTS語音

      https://bbs.huaweicloud.com/blogs/296429

      【上電即上華為云】華為云openCPU智聯模組_Cat.1_MC615-CN-L610-CN_GPS定位器

      https://bbs.huaweicloud.com/blogs/297178

      postman使用put方法向華為云obs桶上傳文件和圖片

      https://bbs.huaweicloud.com/blogs/298147

      postman使用post方法向華為云obs桶上傳文件和圖片

      本帖地址

      對象存儲服務 OBS

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:2小時快速構筑運維監控大屏
      下一篇:怎樣才能畫出清晰明了的時序圖
      相關文章
      亚洲国产高清在线| 国产精品日本亚洲777| mm1313亚洲精品国产| 亚洲精品国产电影午夜| 亚洲无删减国产精品一区| 亚洲av无码成人黄网站在线观看| 亚洲午夜精品久久久久久浪潮| 亚洲AV无码AV日韩AV网站| 亚洲AV一区二区三区四区| 亚洲av日韩综合一区二区三区| 亚洲色成人四虎在线观看| 亚洲精品无码久久久久APP | 婷婷综合缴情亚洲狠狠尤物| 亚洲AV无码国产剧情| 黑人粗长大战亚洲女2021国产精品成人免费视频 | 亚洲精品麻豆av| 亚洲视频无码高清在线| 亚洲在成人网在线看| 国产色在线|亚洲| 亚洲精品无码专区| 成a人片亚洲日本久久| 亚洲免费视频一区二区三区| 中文字幕亚洲综合久久菠萝蜜| 中文字幕亚洲激情| 国产精品亚洲аv无码播放| 亚洲精品无码专区在线在线播放| 国产亚洲精品a在线无码| 亚洲国产精品无码久久SM| 亚洲精品线在线观看| 亚洲国产视频网站| 日本亚洲色大成网站www久久| 亚洲国产成人久久精品软件| 亚洲av高清在线观看一区二区| 亚洲欧洲中文日韩久久AV乱码| 亚洲熟妇无码另类久久久| 国产综合亚洲专区在线| 亚洲av无码成h人动漫无遮挡| 亚洲美女免费视频| 亚洲中文字幕无码中文| 亚洲精品蜜夜内射| 国产大陆亚洲精品国产|