Amazon S3 Upload Whats does Key do -
i confused key value should when using amazon s3 here code.
<form action="http://bucket.s3.amazonaws.com" method="post" enctype="multipart/form-data"> <input type="text" name="key" value="{filename}" /> <input type="text" name="acl" value="public-read" /> <input type="text" name="content-type" value="text/plain" /> <input type="hidden" name="awsaccesskeyid" value="amazon key" /> <input type="hidden" name="policy" value="ewogicjlehbpcmf0aw9uijogijiwmtitmdetmdfumti6mda6mdaumdawwiisciagimnvbmrpdglvbnmioibbciagicb7imj1y2tldci6icjpcihsiywnsijoginb1ymxpyy1yzwfkiib9laogicagwyjlcsisicika2v5iiwgintmawxlbmftzx0ixswkicagifsic3rhcnrzlxdpdggilcaijenvbnrlbnqtvhlwzsisicj0zxh0lyjdlaogif0kfqo=" /> <input type="hidden" name="signature" value="fgwi1jku+hkzkbcil1ed0=" /> <input name="file" type="file" /> <input name="submit" value="upload" type="submit" /> </form>
ok using service generate policy etc because havent got clue how manually.
http://s3.amazonaws.com/doc/s3-example-code/post/post_sample.html
this works , gives me upload. when upload files call {filename} , not filename says picture.jpg. know down line.
<input type="text" name="key" value="{filename}" />
i want take value off filename uploading.
what doing wrong confused.
i have tried leaving blank error.
invalidargumentuser key must have length greater 0
i want work out me????
any please
i know posted question long time ago, might have same question.
key name , path of file uploading.
you can set conditions in policy regarding key, should start with. can keep original file name using value: ${filename} (you missing $)
example: keep original file name, put in folder /docs/
the form:
<form action="http://yourbucketname.s3.amazonaws.com" method="post" enctype="multipart/form-data"> <input type="text" name="key" value="docs/${filename}" /> <input type="text" name="acl" value="public-read" /> <input type="text" name="content-type" value="text/plain" /> <input type="hidden" name="awsaccesskeyid" value="<yourpublickey>" /> <input type="hidden" name="policy" value="<base64_encoded_your_policy>" /> <input type="hidden" name="signature" value="<hmac sha-1 of policy>" /> <input name="file" type="file" /> <input name="submit" value="upload" type="submit" /> </form>
the policy json
{"expiration": "2013-12-01t12:00:00.000z", "conditions": [ {"acl": "public-read-write" }, {"bucket": "yourbucketname" }, ["starts-with", "$key", "docs/"], ["starts-with", "$content-type", "text/plain"], ] }
what need do:
- replace yourbucketname in action , policy-json
- base64 encode policy
- set policy in form policy value
- replace awsaccesskeyid in form
- sign encoded policy secret access key using hmac sha-1
- set signature in form signature value
Comments
Post a Comment