如何从ClientSide javascrript

时间:2018-07-31 14:34:31

标签: javascript angular amazon-web-services aws-sdk pre-signed-url

我正在批准presignedUrl方法来上传大文件。

我从角度代码到服务器端调用一个API,这给了我presignedUrl,然后我需要上传一个URL。

我对此有疑问

1)我的Angular端是否需要AWS开发工具包?

我认为我不需要它,我只是将PUT请求发送到未签名的URL和文件

  uploadfileAWSS3old(e,f){    

    const formData = new FormData();
    formData.append("data",JSON.stringify({name:"testname"}));
    formData.append("file", f.files[0]);

    let contentType = f.files["0"].type;

     const headers = new HttpHeaders(
       {
         'Content-Type': contentType
        });
     const req = new HttpRequest('PUT',this.URL,formData,
     {
       headers: headers,
       reportProgress: true, //This is required for track upload process
     });

     console.log(req)
      this.http.request(req)
        .subscribe(event=>{
          console.log(event)
        })

    }

但是出现

错误
  

  SignatureDoesNotMatch请求   我们计算出的签名与您提供的签名不匹配。   检查您的钥匙并签名   方法.ASIAU7D2TEMAFBDCV3P5PUT

     

image / jpeg 1533112061 x-amz-acl:已验证读取   的x AMZ-安全令牌:FQoGZXIvYXdzEBoaDAqHuJwkAGpv42 + GiiL5AeMmnOw3lETTKkYJNrcAC9BWzOuG0NW40sdXNqhYQWvNYacXZPUP8cXt2EQ / a95bMalAoUA1ZwF5U2H6wrjltrYmKkhOArtRuQ / E556o8hOfYts3l62AufhCEN + xr1ZoaX / uBIQMjhLTypP96rNesPc5cp9eT3CEG2tXa6q3nD6DaBh6tqX9ECTaoGAQHcW0Qm3oP + iIilUfft + 7HmDc7ml6IH9utJwtJdfYuC6 + v4fAcIhp60flapB8DIusKdvUumD1bik4WgXCsxSF4KyzPC0n1QdugXFb9EzYuXN1juXO3HQsYiVXkHMxByB5trMXkTsDBfw4uOAViij41oXbBQ ==   /iclp-camp-qa.recipients.us-west-2/2b6224b9-8f33-48e8-8188-34149a659bea.cjk7zh9l9000001ozon5ziuik.cjkausvhx000001qe7jlssdu8.csvbzCxrflT/R7JzMcXCFc3a 6 0 65a 6a 0a 65a 6a 0a 65a 6a 065 35 33 33 31 31 32 30   36 31 0a 78 2d 61 6d 7a 2d 61 63 6c 3a 61 75 74 68 65 6e 74 69 63 61   74 65 64 2d 72 65 61 64 0a 78 2d 61 6d 7a 2d 73 65 63 75 72 69 74 79   2d 74 6f 6b 65 6e 3a 46 51 6f 47 5a 58 49 76 59 58 64 7a 45 42 6f 61   44 41 71 48 75 4a 77 6b 41 47 70 76 34 32 2b 47 69 69 4c 35 41 65 4d   6d 6e 4f 77 33 6c 45 54 54 4b 6b 59 4a 4e 72 63 41 43 39 42 57 7a 4f   75 47 30 4e 57 34 30 73 64 58 4e 71 68 59 51 57 76 4e 59 61 63 58 5a   50 55 50 38 63 58 74 32 45 51 2f 61 39 35 62 4d 61 6c 41 6f 55 41 31   5a 77 46 35 55 32 48 36 77 72 6a 6c 74 72 59 6d 4b 6b 68 4f 41 72 74 5a   52 75 51 2f 45 35 35 36 6f 38 68 4f 66 59 74 73 33 6c 36 32 41 75 66   68 43 45 4e 2b 78 72 31 5a 6f 61 58 2f 75 42 49 51 4d 6a 68 4c 54 79   70 50 39 36 72 4e 65 73 50 63 35 63 70 39 65 54 33 43 45 47 32 74 58   61 36 71 33 6e 44 36 44 61 42 68 36 74 71 58 39 45 43 54 61 6f 47 41   51 48 63 57 30 51 6d 33 6f 50 2b 69 49 69 6c 55 66 66 74 2b 37 48 6d   44 63 37 6d 6c 36 49 48 39 75 74 4a 77 74 4a 64 66 59 75 43 36 2b 76   34 66 41 63 49 68 70 36 30 66 6c 61 70 42 38 44 49 75 73 4b 64 76 55   75 6d 44 31 62 69 6b 34 57 67 58 43 73 78 53 46 34 4b 79 7a 50 43 30   6e 31 51 64 75 67 58 46 62 39 45 7a 59 75 58 4e 31 6a 75 58 4f 33 48   51 73 59 69 56 58 6b 48 4d 78 42 79 42 35 74 72 4d 58 6b 54 73 44 42   66 77 34 75 4f 41 56 69 69 6a 34 31 6f 58 62 42 51 3d 3d 0a 2f 69 63   6c 70 2d 63 61 6d 70 2d 71 61 2e 72 65 63 69 70 69 65 6e 74 73 2e 75   73 2d 77 65 73 74 2d 32 2f 32 62 36 32 32 34 62 39 2d 38 66 33 33 2d   34 38 65 38 2d 38 31 38 38 2d 33 34 31 34 39 61 36 35 39 62 65 61 2e   63 6a 6b 37 7a 68 39 6c 39 30 30 30 30 30 31 6f 7a 6f 6e 35 7a 69 75   69 6b 2e 63 6a 6b 61 75 73 76 68 78 30 30 30 30 30 31 71 65 37 6a 6c   73 73 64 75 38 2e 63 73   76750CAACBFE902B69CLf4hUHXcMFdTG8JqYtnxHUGZqiDhv17n3 / qSFG3c8PtJYMhizUkAnOSIMypVzX0EEUl28ZCN2M =

0 个答案:

没有答案