1

我试图仅使用给我的临时凭据(访问密钥、密钥、令牌)上传到亚马逊 s3。

这是我的js代码

$(':button').click(function()
  {
      var file = document.getElementById('file').files[0];
      console.log(file);
      var formData = new FormData(); //$('form')[0]
      formData.append("key", folder+file.name);
      formData.append("acl", acl);
      formData.append("success_action_redirect", "201");
      formData.append("Content-Type", "image/png");
      formData.append("AWSAccessKeyId", accesskey);
      formData.append("Policy", policy);
      formData.append("Signature", signature);
      formData.append("x-amz-security-token", token);
      formData.append("file", file);
      $.ajax({
          url: 'http://dev-multiplayertv-telefun-me.s3.amazonaws.com',  //Server script to process data
          type: 'POST',
          xhr: function() {  // Custom XMLHttpRequest
              var myXhr = $.ajaxSettings.xhr();
              if(myXhr.upload){ // Check if upload property exists
                  myXhr.upload.addEventListener('progress',progressHandlingFunction, false); // For handling the progress of the upload
              }
              return myXhr;
          },
          //Ajax events
          beforeSend: function(e) { 
            // e.setRequestHeader("Authorization", "AWS "+accesskey+":"+signature);
            // e.setRequestHeader("x-amz-date", xdate);
            e.setRequestHeader("x-amz-security-token", token);
            // alert('Are you sure you want to upload document.'); 
          },
          success: function(e) { alert('Upload completed'); } ,
          error: function(jqXHR, textStatus, errorThrown) { 
            console.log(textStatus);
            console.log(errorThrown);
          } ,
          // Form data
          data: formData,
          //Options to tell jQuery not to process data or worry about content-type.
          cache: false,
          contentType: false,
          processData: false
      });
  });

这是我的政策:

var POLICY_JSON = { "expiration": "2013-12-03T12:29:27.000Z",
      "conditions": [
        {"bucket": bucket},
        ["starts-with", "$key", folder],
        {"acl": acl},
        {"success_action_redirect": "201"},
        ["starts-with", "$Content-Type", "image/"],
        {"x-amz-security-token": token}
      ]
    };

但不知何故,它给了我这个:内部错误。我们遇到了内部错误。请再试一次。

4

0 回答 0