支付寶小程序:文件流上傳方法
小編:啊南 1635閱讀 2020.12.29
接口地址: 獲取文件直傳地址 (alipay.eco.file.path.query)接口與 創建合同模版(alipay.eco.doc.template.create)接口獲取到的 uploadUrl。
接口描述:
-
使用獲取文件直傳地址接口獲取到的 uploadUrl 進行文件流上傳;
-
上傳使用 HTTP PUT 方式上傳;
-
上傳時需要在 HTTP Header 中增加字段 Content-MD5 和 Content-Type,字段值與獲取文件直傳地址接口中 contentMd5 和 contentType 值保持一致,否則會出現錯誤碼為 403 的錯誤。
請求參數:
-
Content-MD5:base64 編碼的文件 MD5;
-
Content-Type:文件MIME類型,支持:
-
application/octet-stream
-
application/pdf
注意:
這里要和 創建合同模版(alipay.eco.doc.template.create)接口中的 contentType 入參值一致,不然就會有 403 的報錯。
-
HTTP BODY:待上傳文件的二進制字節流。
請求示例:
PUT /ObjectName HTTP/1.1
Content-Type:application/octet-stream
Content-MD5:eB5eJF1ptWaXm4bijSPyxw==
響應示例
HTTP/1.1 200 OK
Server: AliyunOSS
Date: Tue, 04 Dec 2018 15:56:38 GMT
Content-Length: 0
Connection: keep-alive
x-oss-request-id: 5C06A3B67B8B5A3DA422299D
ETag: "D41D8CD98F00B204E9800998ECF8427E"
x-oss-hash-crc64ecma: 0
Content-MD5: 1B2M2Y8AsgTpgAmY7PhCfg==
x-oss-server-time: 7
如何計算 Content-MD5?
首先計算 MD5 加密的二進制數組(128位),然后再對這個二進制數組進行base64編碼(而不是對32位字符串編碼)。例如,用 Python 計算 0123456789 的 Content-MD5,代碼為:
>>> import base64,hashlib
>>> hash = hashlib.md5()
>>> hash.update("0123456789")
>>> base64.b64encode(hash.digest())
'eB5eJF1ptWaXm4bijSPyxw=='
相關推薦
- 支付寶小程序:入駐開放平臺 支付寶小程序是一種全新的開放模式,它運行在支付寶客戶端,是手機應用嵌入支付寶客戶端的一種方法。支付寶小程序開放給開發者更多的 JSAPI 和 OpenAPI,也可以提供給用戶多樣化的便捷服務。支付寶小程序可以被便捷地獲取和傳播,從而為終端用戶提供更優的用戶…
- Hibernate Criterion 在查詢方法設計上能夠靈活的依據Criteria的特點來方便地進行查詢條件的組裝.Hibernate設計了CriteriaSpecification作為Criteria的父接口,以下提供了Criteria和DetachedCriteria.Criteria和DetachedCriteria的主要差別在于創建的形式不一樣,Criteria是在線的,所…