2017-01-05 4 views
0

amazon s3에 대한 훌륭한 업 로더를 사용하고 있습니다. 그러나 파일을 업로드하려고합니다. 오류 표시 : 제공 한 인증 메커니즘이 지원되지 않습니다. AWS4-HMAC-SHA256을 사용하십시오.amazon s3을 가진 좋은 업 로더

페이지 URL : http://clientuat.xyz/s3demo2/

<script> 

     var s3Uploader = new qq.s3.FineUploader({ 
      debug: true, 
      element: document.getElementById('fine-uploader-s3'), 
      template: 'qq-template-s3', 
      request: { 
       endpoint: 'mybucketname.s3.amazonaws.com', 
       accessKey: "here is my key" 
      }, 
      signature: { 
       endpoint: "s3demo-thumbnails-cors.php" 
      }, 
      uploadSuccess: { 
       endpoint: "s3demo-thumbnails-cors.php?success", 
       params: { 
        isBrowserPreviewCapable: qq.supportedFeatures.imagePreviews 
       } 
      }, 
      iframeSupport: { 
       localBlankPagePath: "success.html" 
      }, 
      cors: { 
       expected: true 
      }, 
      chunking: { 
       enabled: true 
      }, 
      resume: { 
       enabled: true 
      }, 
      deleteFile: { 
       enabled: true, 
       method: "POST", 
       endpoint: "s3demo-thumbnails-cors.php" 
      }, 
      validation: { 
       itemLimit: 5, 
       sizeLimit: 15000000 
      }, 
      thumbnails: { 
       placeholders: { 
        notAvailablePath: "not_available-generic.png", 
        waitingPath: "waiting-generic.png" 
       } 
      },  
      callbacks: { 
       onComplete: function(id, name, response) { 
        var previewLink = qq(this.getItemByFileId(id)).getByClass('preview-link')[0]; 

        if (response.success) { 
         previewLink.setAttribute("href", response.tempLink) 
        } 
       } 
      }  }); 


    </script> 

    require 'aws-autoloader.php'; 
use Aws\S3\S3Client; 
// Instantiate an Amazon S3 client. 
$s3 = new Aws\S3\S3Client([ 
    'version'  => 'latest', 
    'region'  => 'us-west-1', 
    'credentials' => false, 
    'signature_version'=> 'v4' 
]); 

// 


// These assume you have the associated AWS keys stored in 
// the associated system environment variables 
$clientPrivateKey ="private key"; 
// These two keys are only needed if the delete file feature is enabled 
// or if you are, for example, confirming the file size in a successEndpoint 
// handler via S3's SDK, as we are doing in this example. 
$serverPublicKey = "key";//$_SERVER['PARAM1']; 
$serverPrivateKey = "private key";//$_SERVER['PARAM2']; 

// The following variables are used when validating the policy document 
// sent by the uploader: 
$expectedBucketName = "bucket name"; 

답변

1

이 오류는 해당 지역이 정확하게 일치하지 않는 경우에 일반적입니다. 코드에서 지정한 지역이 이전에 만든 버킷과 일치하는지 다시 한 번 확인할 수 있습니다.

+0

$ clientPrivateKey = $ _ENV [ 'AWS_CLIENT_SECRET_KEY']; //이 두 키는 파일 삭제 기능이 활성화 된 경우에만 필요합니다. // 예를 들어,이 예에서와 같이 S3 SDK를 통해 successEndpoint // 핸들러에서 파일 크기를 확인하는 경우입니다. $ serverPublicKey = $ _ENV [ 'AWS_SERVER_PUBLIC_KEY']; $ serverPrivateKey = $ _ENV [ 'AWS_SERVER_PRIVATE_KEY']; https://console.aws.amazon.com/iam/home?region=ap-south-1#/security_credential 찾았습니다.$ serverPublicKey = $ _ENV [ 'AWS_SERVER_PUBLIC_KEY']; $ serverPrivateKey = $ _ENV [ 'AWS_SERVER_PRIVATE_KEY']; 이 키를 찾는 방법 –