title: Pre-Signed S3 URL Signature Does Not Match
body: <p>Title says everything. Here is my code;</p>
  
  <p>I'm using node-formidable for files.</p>
  
  <pre><code>form.on("end",function(field, file){
          params.Body = fs.createReadStream(params.filePath)
          delete params.filePath;
          S3.getSignedUrl('putObject',params, function(err, url) {
              if(err){console.log(err);}
              console.log(url);
          });
      })
  </code></pre>
  
  <p>After successful upload, url variable returns s3 url, something like this;</p>
  
  <p><a href="https://bucket-name.s3.amazonaws.com/746575308_8c081369df.jpg?AWSAccessKeyId=[key]&amp;Expires=[date]&amp;Signature=[signature]&amp;x-amz-acl=public-read" rel="noreferrer">https://bucket-name.s3.amazonaws.com/746575308_8c081369df.jpg?AWSAccessKeyId=[key]&amp;Expires=[date]&amp;Signature=[signature]&amp;x-amz-acl=public-read</a></p>
  
  <p>But still getting SignatureDoesNotMatch error. In description says </p>
  
  <blockquote>
    <p>The request signature we calculated does not match the signature you provided. Check your key and signing method.</p>
  </blockquote>
  
  <p>Here is my parameters</p>
  
  <pre><code>params = {
      Bucket:"bucketname",
      Key: file.name,
      ACL: 'public-read'
  }
  </code></pre>
  
  <p>What am i missing?</p>