2016-06-08 6 views
1

Я сгенерировал подписанный Url с использованием глагола PUT, и я хочу знать, можете ли вы получать данные POST на подписанный URL PUT для загрузки объектов в ведра Google Cloud?Можете ли вы POST на PUT signedUrl?

ответ

1

№ Если вы подписываете URL-адрес с указанием глагола «PUT», вы должны сделать запрос PUT.

Существует способ загрузки объектов с использованием подписи и POST-глагола, но это не со подписанными URL-адресами. Это с подписанными запросами политики, которые являются аналогичной, но более сложной концепцией: https://cloud.google.com/storage/docs/xml-api/post-object#usage_and_examples

С политическими документами вы указываете несколько правил о загрузке POST, base64, а затем создаете подпись для этой политики. Запрос POST должен содержать как политику, так и ее подпись. Он предназначен для использования с веб-формами:

<form action="http://travel-maps.storage.googleapis.com" method="post" enctype="multipart/form-data"> 
<input type="text" name="key" value=""> 
<input type="hidden" name="bucket" value="travel-maps"> 
<input type="hidden" name="Content-Type" value="image/jpeg"> 
<input type="hidden" name="GoogleAccessId" value="[email protected]"> 
<input type="hidden" name="acl" value="bucket-owner-read"> 
<input type="hidden" name="success_action_redirect" value="http://www.example.com/success_notification.html"> 
<input type="hidden" name="policy" value="eyJleHBpcmF0aW9uIjogIjIwMTAtMDYtMTZUMTE6MTE6MTFaIiwNCiAiY29uZGl0aW9ucyI6IFsNCiAgWyJzdGFydHMtd2l0aCIsICJrZXkiLCAiIiBdLA0KICB7ImFjbCI6ICJidWNrZXQtb3duZXItcmVhZCIgfSwNCiAgeyJidWNrZXQiOiAidHJhdmVsLW1hcHMifSwNCiAgeyJzdWNjZXNzX2FjdGlvbl9yZWRpcmVjdCI6ICJodHRwOi8vd3d3LmV4YW1wbGUuY29tL3N1Y2Nlc3Nfbm90aWZpY2F0aW9uLmh0bWwiIH0sDQogIFsiZXEiLCAiQ29udGVudC1UeXBlIiwgImltYWdlL2pwZWciIF0sDQogIFsiY29udGVudC1sZW5ndGgtcmFuZ2UiLCAwLCAxMDAwMDAwXQ0KICBdDQp9"> 
<input type="hidden" name="signature" value="BSAMPLEaASAMPLE6SAMPLE+SAMPPLEqSAMPLEPSAMPLE+SAMPLEgSAMPLEzCPlgWREeF7oPGowkeKk7J4WApzkzxERdOQmAdrvshKSzUHg8Jqp1lw9tbiJfE2ExdOOIoJVmGLoDeAGnfzCd4fTsWcLbal9sFpqXsQI8IQi1493mw="> 

<input name="file" type="file"> 
<input type="submit" value="Upload"> 
</form> 
Смежные вопросы