[{"data":1,"prerenderedAt":42},["ShallowReactive",2],{"tag-uploads":3,"tag-all":13},[4],{"_path":5,"title":6,"description":7,"date":8,"tags":9},"\u002Fblog\u002Fpresigned-post-enforce-size-content-type","Presigned POST: cap size and type before the upload starts","A presigned PUT signs a URL, not a byte count. A POST policy adds a size range and a content-type condition that S3 enforces while the body arrives.","2026-11-01",[10,11,12],"s3","security","uploads",[14,19,23,25,27,30,35,40],{"tags":15},[10,16,17,18],"iam","governance","access-control",{"tags":20},[10,16,21,22],"sts","aws",{"tags":24},[10,16,11,18],{"tags":26},[10,11,12],{"tags":28},[10,11,29],"presigned-urls",{"tags":31},[10,32,33,34],"tutorial","tooling","seaweedfs",{"tags":36},[10,37,38,39],"pricing","cloud","cost-optimisation",{"tags":41},[10,38],1793734273021]